5

我正在尝试运行 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 运行测试。

任何人都知道为什么 DuskTestCase 似乎无法找到,即使它似乎设置正确?提前致谢。

4

4 回答 4

3

在 composer.json 中:

加入"Tests\\": "tests/"_

"autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/",
            "Tests\\": "tests/"
        }
    },

然后,运行composer dump-autoload以重新加载您的包。

于 2019-04-04T05:45:39.183 回答
2

由于使用了不包含此行的过时文档,我遇到了此错误:

$ php artisan dusk:install

于 2019-11-20T14:50:16.530 回答
1

如果您使用 phpstrom 进行测试,那么您已经在 settings/languages & framework/php/test frameworks 中设置了 phpunit 的路径,并使用 composer autoloader 路径,然后使用 autoload.php 文件选择您的 laravel 黄昏项目的路径.....在脚本路径中设置文件供应商/autoload.php文件...

于 2017-12-23T14:03:15.427 回答
1

如果composer dump-autoload不能解决问题,您可以尝试这些步骤。

  1. 在浏览器中访问主页并检查它是否正确呈现。如果不是,那么您的网络服务器配置可能有问题(提示:您的项目不是文档根目录的子目录吗?)。
  2. 你可以通过php artisan serve. 如果您的浏览器现在可以访问主页,那么您可以再次尝试黄昏。在这种情况下,请记住更新您的 .env 文件以匹配 APP_URL= http://127.0.0.1:8000,并从另一个 cli 窗口运行 php artisan黄昏,因为php artisan serve也需要运行。
于 2017-12-22T21:47:28.940 回答