单元测试时保证数据库整洁
对于我来说,写单元测试希望测试时生成的数据不会污染到数据库。那么在测试后就希望生成的数据能 rollback。这样下一个单元测试就能保证使用的数据没有污染。
下面是基于 Laravel phpunit Test,首先重写 setUp 方法
function setUp() {
parent::setUp();
DB::beginTransaction();
}
然后重写 tearDown 方法
function tearDown() {
DB::rollBack();
}
这样就能保证运行每个单元测试时数据的一致了。
update: 原来文档中提到 Using Transactions. 感谢 @TimJuly 提醒。
use DatabaseTransactions;
推荐文章: