我正在尝试运行Laravel Dusk测试,但是当我运行测试时,会弹出一个新的Chrome标签,显示此消息。
Fatal error: Class 'Tests\DuskTestCase' not found in path-to-project\tests\Browser\ExampleTest.php on line 9
到目前为止,我所做的只是composer require --dev laravel/dusk:^1.0
和php artisan dusk:install
。
这是我的ExampleTest.php(确切地说是Laravel如何设置它)
<?php
namespace Tests\Browser;
use Laravel\Dusk\Chrome;
use Tests\DuskTestCase;
use Laravel\Dusk\DuskServiceProvider;
class ExampleTest extends DuskTestCase
{
/**
* A basic browser test example.
*
* @return void
*/
public function testBasicExample()
{
$this->browse(function ($browser) {
$browser->visit('/')
->assertSee('Laravel');
});
}
}
DuskTestCase.php也就像Laravel设置它并具有名称空间namespace Tests;
。
我正在使用Laravel 5.4和Dusk 1.0。我正在通过PhpStorm运行测试,使用描述here的工作。
任何人都知道为什么DuskTestCase似乎无法找到,即使它似乎设置正确?提前谢谢。
答案 0 :(得分:0)
如果var cords = LoadCords().Where(cord => cord.x >2);
// Now iterate via linq .ForEach/.Select to do something without if condition.
无法解决问题,您可以尝试以下步骤。
composer dump-autoload
尝试Laravel内置服务器。如果您的浏览器现在可以访问主页,那么您可以再次尝试黄昏。
在这种情况下,请记住更新.env文件以匹配APP_URL = http://127.0.0.1:8000,
并从另一个cli窗口运行php artisan dusk,因为php artisan serve
也需要运行。答案 1 :(得分:0)
如果你使用phpstrom进行测试,那么你已经设置了phpunit的路径...... 在设置/语言和&amp;框架/ php /测试框架并使用composer autoloader路径,然后使用autoload.php文件选择laravel dusk项目的路径..... 在脚本的路径中设置文件vendor / autoload.php文件...
答案 2 :(得分:0)
在composer.json中:
在{p>中添加"Tests\\": "tests/"
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"Tests\\": "tests/"
}
},
然后,运行composer dump-autoload
重新加载您的软件包。
答案 3 :(得分:0)
由于使用了不包含此行的过时文档,因此出现了此错误:
$ php artisan dusk:install