使用conn:sqlite value :: memory:而不是conn:mysql db:在phpunit.xml中进行测试时,某些测试开始失败?

时间:2018-08-04 10:51:08

标签: php laravel laravel-5 phpunit phpunit-testing

我已经写了很多测试。所有人都通过了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,即可正常工作。

出什么问题了?

0 个答案:

没有答案