我刚刚开始使用Laravel 8测试套件,并选择为我的帐户创建过程创建一个功能测试。我已经运行了php artisan make:test AccountCreation
并将第一个测试用例作为函数编写,但是,当我运行php artisan test
时,它没有选择我的功能测试,为什么?
同样,如果我试图删除默认的示例测试,我会得到一个错误消息,告诉我无法找到该测试?我错过了什么?
tests/Feature/AccountCreation.php
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
use Tests\TestCase;
class AccountCreation extends TestCase
{
/**
* A basic feature test example.
*
* @return void
*/
public function test_creates_user_account_successfully()
{
$response = $this->post('/api/account/create');
$response->assertStatus(201);
}
}
我是否需要运行一个特殊的命令来让Laravel获取这些测试?
3条答案
按热度按时间1zmg4dgp1#
因为你应该将'Test'附加到你的测试类中,因为PHPUnit会检查所有以Test结尾的类,所以修改:
致:
别忘了更改类文件名。
bihw5rsg2#
/**@test
每次测试前都要这样。我觉得很有效。
jum4pzuy3#
对于其他人来说,如果他们最终遇到了这个问题,但接受的答案对他们没有帮助。PHPUnit希望测试类以'Test'结束,并且也对于单个测试方法以单词'test'开始。
所以这是根据@Abolfazl Mohajeri的回答:
这不会运行测试(@Ryan H的原始问题):
这也不会运行测试:
@keepyourmouthshut的答案之所以有效,是因为这里记录了PHPUnit注解