У меня есть черта, которая записывает активность на созданном хуке жизненного цикла. В моем тестовом классе, если я выполню какой-либо один отдельный тест с 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,
]);
}
Если мне нужно поделиться какой-либо дополнительной информацией, пожалуйста, дайте мне знать. Спасибо!