PHP单元测试脏数据处理方式
程序员文章站
2022-04-23 08:09:46
...
单元测试的时候,难免产生脏数据,对脏数据该如何处理呢? 我们最先想到的方法是: 在测试方法中, 被删 /改,操作之前记录数据,操作完成后还原数据。 新增 ,记录新增的主键,测试结束后在测试脚本中执行删除。 我之前想了很多种想取巧的方法,想让操作更
单元测试的时候,难免产生脏数据,对脏数据该如何处理呢?
我们最先想到的方法是:
在测试方法中,
被删 /改,操作之前记录数据,操作完成后还原数据。
新增 ,记录新增的主键,测试结束后在测试脚本中执行删除。
我之前想了很多种想取巧的方法,想让操作更简单,但是都不够完美,有的甚至非常差。
1、在数据层添加观察者,数据有变动后通知观察者来处理。
这样不但有些变动可能被遗漏,还打破了程序的结构,需要重新设计数据层,不可行。
2、使用临时表
在setUp()中创建临时表并绑定到表网关类,tearDown()中将其临时表删除。
这样当一个测试类中需要调用到多个表网关类的时候,就要弄n个表网关类并将其绑到模型中,灾难啊。
回到头来,还是用首先想到的方法更好。
原文地址:PHP单元测试脏数据处理方式, 感谢原作者分享。