[关闭]
@songying 2018-07-18T11:28:00.000000Z 字数 334 阅读 1123

如何对数据库添加单元测试

单元测试


http://jxy.me/2016/05/06/db-unit-test/

  1. 使用独立于生产环境的数据库测试。一种思路是每次运行测试的时候新建数据库和表,然后在测试结束的时候删除数据库。如果有用 ORM ,可以用sqlite 完成这项工作。

  2. 另一种思路是用固定的数据库,然后把测试运行在一个事务内,然后每个 TestCase 运行结束的时候把事务回滚掉。不过这样会影响你代码里的事务,所以要看情况来定。这么做的好处是可以极大降低编写测试时的心智负担,数据库的状态在写每个 TestCase 的时候都可以轻易猜到而不用理会众多测试对数据库状态的改变。2. 关于固定数据的问题,一般都是 Fixture 来解决,这个框架里一般也有解决方案,没有的话就自己写个钩子。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注