Class' Tests \ DuskTestCase'在ExampleTest.php中找不到

时间:2017-12-22 19:53:43

标签: laravel laravel-dusk

我正在尝试运行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.0php 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似乎无法找到,即使它似乎设置正确?提前谢谢。

4 个答案:

答案 0 :(得分:0)

如果var cords = LoadCords().Where(cord => cord.x >2); // Now iterate via linq .ForEach/.Select to do something without if condition. 无法解决问题,您可以尝试以下步骤。

  1. 在浏览器中访问主页,检查它是否正确呈现。如果没有,那么您的Web服务器配置可能有问题(提示:不是文档根目录的项目子目录?)。
  2. 您可以通过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