我正在尝试使用 Laravel8 内置 PHPUnit 进行 TDD(测试驱动开发)

sta*_*ote -1 php tdd phpunit laravel

我收到此错误:

\n
\n

调用未定义的方法 Tests\\Feature\\ExampleTest::visit()

\n
\n

在运行我的测试用例时。我对 TDD 有点陌生。

\n

这是我的示例测试代码

\n
<?php\n\nnamespace Tests\\Feature;\n\nuse Illuminate\\Foundation\\Testing\\RefreshDatabase;\nuse Tests\\TestCase;\n\nclass ExampleTest extends TestCase\n{\n\n    /**\n    * A basic test example.\n    *\n    * @return void\n    */\n\n    public function test_example()\n    {\n        $response = $this->visit('/')->see('Laravel');\n        $response->assertStatus(200);\n    }\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n

从我用来了解 TDD 的视频教程中,上面的代码运行良好,没有任何问题,但是当我在我这边运行代码时,我遇到了如下错误:

\n
\n

\xe2\x80\xa2 Tests\\Feature\\ExampleTest > 示例\n错误

\n

调用未定义的方法 Tests\\Feature\\ExampleTest::visit()

\n
\n

我目前正在跑步Laravel 8.6并且PHPUnit 9.510

\n

任何关于如何解决这个问题的想法都受到高度欢迎。

\n

Ror*_*ory 5

看起来您正在将 Laravel 内置的浏览器测试方法(Dusk)(就像visit()您上面使用的那样)与单元测试和功能测试方法混合在一起。

当您在Tests\Feature命名空间中时,您需要遵循单元和功能测试指南,其等效内容是:

public function test_example()
    {
        $response = $this->get('/');
        $response->assertStatus(200);
    }
Run Code Online (Sandbox Code Playgroud)