如何使用phpunit在Laravel 4中测试命名空间对象
发布时间:2020-12-14 19:34:28 所属栏目:大数据 来源:网络整理
导读:我正在组织我的测试文件夹以反映我的应用程序中的命名空间对象和界面.但是,在使用命名空间练习TDD时,我一直在努力维护秩序.我完全不知道如何让所有这些作品发挥得淋漓尽致.任何有关此问题的帮助将不胜感激! 结构体: app/ Acme/ Repositories/ UserReposito
我正在组织我的测试文件夹以反映我的应用程序中的命名空间对象和界面.但是,在使用命名空间练习TDD时,我一直在努力维护秩序.我完全不知道如何让所有这些作品发挥得淋漓尽致.任何有关此问题的帮助将不胜感激!
结构体: app/ Acme/ Repositories/ UserRepository.php User.php tests/ Acme/ Repositories/ UserRepositoryTest.php UserTest.php 应用程序/ Acme公司/ user.php的 <?php namespace Acme; use Eloquent; class User extends Eloquent { protected $guarded = array(); public static $rules = array(); } 应用程序/测试/阿克米/ UserTest.php <?php use AcmeUser; class UserTest extends TestCase { public function testCanBeLoaded() { $this->assertInstanceOf(User,new User); } } PHPUnit结果: 1) UserTest::testCanBeLoaded ErrorException: Use of undefined constant User - assumed 'User' 解决方法
assertInstanceOf方法需要一个字符串,而不是一个对象.试试User :: class. :: class表示法是
introduced in PHP 5.5
<?php use AcmeUser; class UserTest extends TestCase { public function testCanBeLoaded() { $this->assertInstanceOf(User::class,new User); } } 2015年11月22日更新 使用当今PHP的最佳实践更新了我对更好解决方案的回答. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |