单元测试中,测试的数据应该如何准备?

1、如何准备测试所需要的数据?
2、测试的数据应该放在哪里?
3、正式环境迭代是否需要再次测试?

我用的是Spring,现在的测试是这样进行的,个人感觉十分不灵活,想咨询一下大家都是怎么测试的?

1、在test/resources目录下有两个文件before.sql,after.sql。怎么用的呢,测试之前执行before.sql生成测试所需要的数据,测试完了执行after.sql删除为了测试产生的数据。
2、有了基础数据之后,针对不同种类的数据就可以做各种异常判断的测试啦。

上面是我现在的测试方式,问题很多。首要的就是十分不灵活,一旦数据表有所改动,测试数据就得跟着改。再者,需要清理干净测试的数据其实挺麻烦的。

不知道大家是怎么进行测试的,有没有更简单方便的方法?


弑天下
浏览 1563回答 3
3回答

九州编程

用spring的话,可以直接用@TransactionConfiguration注解来配置测试数据是否要回滚,这样就不用你自己去删除测试数据了。比如@TransactionConfiguration(transactionManager = "mybatisTransactionManager", defaultRollback = true)

胡说叔叔

贴一个我现在正在用的测试超类吧@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"classpath:spring.xml"})@Transactional@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true) public class AbstractDrugTest extends AbstractTransactionalJUnit4SpringContextTests{ }子类里给每个需要的表写入数据,在一个用例结束以后,Spring 会帮助自动回滚数据的。
打开App,查看更多内容
随时随地看视频慕课网APP