在junit测试用例运行后,我应该删除与此测试用例相关的测试数据吗?

时间:2010-06-10 07:50:34

标签: java testing junit

在junit测试用例运行后,应该删除与此测试用例相关的测试数据吗?

保持测试数据是否有助于开发人员调试代码?

3 个答案:

答案 0 :(得分:5)

作为一种好的做法,测试用例必须在完成后删除其测试数据,以便下一个测试用例可以使用已知的初始db状态运行。 测试用例不应该依赖于运行顺序。 这也使得调试测试用例变得容易,因为它从已知的初始状态运行。

答案 1 :(得分:2)

是单元测试应该以“干净”的数据库,文件系统等开始和结束。每个测试都应该留下它们发现的东西。

除了其他任何有助于重新运行的功能之外 - 您可以一次又一次地重新运行测试。

但是,有时候在开发和调试时,禁用数据删除会很有用。

实现所有这些目标是有道理的,例如在使用Java,Spring和数据库时,您可以使用Spring的事务管理简单地回滚所有更改。

答案 2 :(得分:2)

我建议通过清理和插入首选测试数据来开始测试。然后保留数据库。

这种方法的优点:

  • 轻松手动验证您的服务是否按预期工作。
  • 测试数据在启动前未被其他服务损坏,因为作业是在测试之前立即完成的。

DbUnit框架实际上是为了在每个测试方法之前清理测试数据并将其插入到setUp()方法的测试数据库中。使用这种方法,建议为每个开发人员使用单独的数据库。