Я уже написал много тестов. Все проходили в этом конфиге phpunit.xml
<env name="DB_CONNECTION" value="mysql"/>
<env name="DB_DATABASE" value="testing"/>
Но они были медленными, поэтому я изменил его на sqlite в памяти:
<env name="DB_CONNECTION" value="sqlite"/>
<env name="DB_DATABASE" value=":memory:"/>
Это очень быстро, но выдает ошибку в некоторых тестах.
пример:
/** @test */
public function a_user_can_create_a_post()
{
$payload = [
'title' => 'This is title',
'body' => 'This is body',
];
$this->actingAs($this->adminUser)
->json('POST', '/post', $payload)
->assertRedirect(route('post.index'))
->assertSessionHas('message', 'Post Created!');
}
Это дает 500 кодов состояния вместо кода перенаправления. Когда я удаляю
json line и просто укажите какой-нибудь путь 200, тогда он будет работать нормально.
В чем проблема ?
Задача ещё не решена.
Других решений пока нет …