单元测试
默认情况下,tests 目录包含了两个子目录:Feature 和 Unit,分别用于功能测试和单元测试,单元测试专注于小的、相互隔离的代码,实际上,大部分单元测试可能都是聚焦于单个方法。功能测试可用于测试较大区块的代码,包括若干组件之前的交互,甚至一个完整的HTTP请求。
创建一个新的测试
//Feature
php artisan make:test UserTest
//Unit
php artisan make:test UserTest --unit
运行测试
phpunit
.vendor/bin/phpunit
.vendor/bin/phpunit --filter=ExampleTest
setup方法
setUp 方法会在测试开始之前执行。类似我们的构造函数。
public function setUp(): void
{
parent::setUp(); // TODO: Change the autogenerated stub
$this->tenantUser = User::query()->find(2);
$this->schoolUser = User::query()->find(3);
}
这其中我们使用了一个名为 ActingJWTUser 的 trait , 这个 trait 的主要作用是帮我们获取我们刚刚 查询出来的测试用户的 Token , 并且在我们对接口进行测试的时候可以设置 Bearer Token 。
这样我们就能方便的使用 JWTActingAs 方法,登录查询的指定用户。最后得到的响应 $response,通过 assertStatus 断言响应结果为 200。
p