单元测试后的回滚数据库更改流明

时间:2017-06-20 15:36:18

标签: php laravel unit-testing lumen

我们已经使用Lumen构建API并创建了一些测试用例。

所有测试用例都运行良好但我们希望还原测试用例所做的所有更改。

是否可以恢复流明中的所有变化。

测试用例示例:

class PostTest extends TestCase
{
    /**
     * Test create post
     *
     * @return void
     */
    public function testBasicExample()
    {
        $this->post('/post', ['post_name' => 'New Post'])
             ->seeJsonEquals([
                'created' => true,
             ]);
    }
}

注意:我们不想截断所有数据,只是还原测试用例更改。

谢谢!

1 个答案:

答案 0 :(得分:0)

Laravel有一个很好的特性来帮助解决这个问题。查看DatabaseTransactions:

https://laravel.com/docs/5.4/database-testing#using-transactions

它将包装您的测试所做的每个查询,然后在测试完成时恢复。