【问题标题】:Rollback database changes after unit test Lumen单元测试 Lumen 后回滚数据库更改
【发布时间】:2017-11-23 06:05:17
【问题描述】:

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

所有测试用例工作正常,但我们希望恢复测试用例所做的所有更改。

有什么方法可以恢复 Lumen 中的所有更改。

测试用例示例:

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

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

谢谢!

【问题讨论】:

    标签: php laravel unit-testing lumen


    【解决方案1】:

    Laravel 有一个很好的 Trait 可以帮助解决这个问题。查看 DatabaseTransactions:

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

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

    【讨论】:

      猜你喜欢
      • 2018-02-27
      • 2010-11-23
      • 2012-11-26
      • 2010-10-20
      • 1970-01-01
      • 2018-04-10
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      相关资源
      最近更新 更多