我已经写了很多测试。所有人都通过了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行,只需声明一些路径200,即可正常工作。
出什么问题了?