Php Laravel-尚未设置门面根目录
我在laravel应用程序中运行测试时遇到问题。 我的应用程序被拆分为单独的名称空间。Laravel应用程序命名空间位于应用程序目录中,它是App/命名空间。我在src目录中有额外的名称空间 我的测试用例如下所示:Php Laravel-尚未设置门面根目录,php,laravel,phpunit,laravel-artisan,Php,Laravel,Phpunit,Laravel Artisan,我在laravel应用程序中运行测试时遇到问题。 我的应用程序被拆分为单独的名称空间。Laravel应用程序命名空间位于应用程序目录中,它是App/命名空间。我在src目录中有额外的名称空间 我的测试用例如下所示: 好的,我找到了这个错误的解决方案。对于任何有同样问题的人: 我的UserDomainTest从命名空间扩展了TestCase: use Tests\TestsCase 使用PHPUnit\Framework\TestCase; 当我改为: 使用illumb\Foundation\
好的,我找到了这个错误的解决方案。对于任何有同样问题的人:
我的UserDomainTest从命名空间扩展了TestCase:
use Tests\TestsCase
使用PHPUnit\Framework\TestCase;
当我改为:
使用illumb\Foundation\Testing\TestCase;
每件事都很有魅力。Jakub的答案对我不适用,所以我会解释我的工作
我有App/BusinessRules/Admin/Tests/envetest.php文件。
即使使用这两个名称空间中的任何一个,也会发生失败
因此,在我的EnvTest中,我从名称空间扩展了tests/TestCase.php文件:
use Tests\TestsCase
使用Illumb\Support\Facades\DB;我应该在哪里使用这个?在我的测试用例中?Mehran Zamani,为了清楚起见,classSmoothCode\Sample\Domain\User\User
不是模型类,它不在数据库上运行哪一行是UserDomainTest.php:29?您应该解释有关代码的更多细节。看看.UserDomainTest.php:29是这样一行:``确认码::生成()``但我发现,即使我将testUserCreation()
中的整个代码替换为:```哈希::make('test');````时或``bcrypt('test');```我得到了这个错误。因此,在我的测试中调用Facade会导致此错误。为什么官方文档中的示例扩展了PHPUnit\Framework\TestCase
,而不是illighted\Foundation\Testing\TestCase
?如果您定义了自己的受保护函数setUp():void
,那么不要忘记调用parent::setUp()
太多,否则您仍然会收到关于未设置门面根目录的相同错误。谢谢!添加parent::setUp()代码>在受保护函数的顶部为我修复了错误。
use Tests\TestsCase