我有一个特征来记录创建的生命周期挂钩上的活动。在我的测试课程中,如果我使用 RefreshDatabase
运行任何给定的单个测试,则无法说明该表为空。如果我没有 RefreshDatabase
运行测试,则测试通过,但由于明显原因,下次将失败。如果我使用 RefreshDatabase
来运行整个测试类,则只有第一个失败,其余的则通过。如果我在没有整个测试类的情况下没有 RefreshDatabase
,则第一个通过了,其余的由于明显的原因(重复的键错误)而失败。
这是通过这种方式进行的测试之一:
/** @test */
public function user_can_access_their_own_activity()
{
$this->jsonAs($this->user, 'POST', route('team.store'), [
'display_name' => 'Test Team',
])->assertStatus(200);
$this->assertDatabaseHas('activities', [
'user_id' => $this->user->getKey(),
'type' => 'created_team',
]);
$response = $this->jsonAs($this->user, 'GET', route('activity.index'))
->assertStatus(200);
$response->assertJsonFragment([
'type' => 'created_team',
'uuid' => $this->user->uuid,
]);
}
如果我需要分享更多信息,请告诉我。谢谢!