【发布时间】:2015-09-24 01:31:48
【问题描述】:
我正在编写一些单元测试来测试我的 Laravel 5 应用程序中的 API 端点,并且许多端点需要用户身份验证。我不想在每个测试中都使用相同的用户帐户创建代码,而是想定义一个 RegistersUsers 特征以在测试类上使用,它将有一个 registerUser() 方法。
我的tests目录的目录结构是这样的:
/tests
/Traits
RegistersUsers.php
TestCase.php
UserTest.php
我已通过添加此命名空间声明为 TestCase.php 和 UserTest.php 命名空间:
namespace MyappTests;
我已经将RegistersUsers.php 命名为这样:
namespace MyappTests\Traits;
我的UserTest 看起来像这样,带有命名空间和use 声明,以便我可以利用RegistersUsers。
<?php
namespace MyappTests;
use MyappTests\Traits\RegistersUsers;
class UserTest extends TestCase
{
use RegistersUsers;
// ... rest of the class
但是,当我运行测试时,PHPUnit 因致命错误而死:
在第 9 行的 /home/vagrant/demo-app-net/tests/UserTest.php 中找不到特征“MyappTests\Traits\RegistersUsers”
据我所知,我的命名空间是正确的,应该可以找到我的特征。我一直在绕圈子,似乎无法弄清楚。
【问题讨论】:
标签: php composer-php phpunit autoload