Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在junit测试用例运行之后,是否应该删除与此测试用例相关的测试数据?_Java_Testing_Junit - Fatal编程技术网

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

Java 在junit测试用例运行之后,是否应该删除与此测试用例相关的测试数据?,java,testing,junit,Java,Testing,Junit,junit测试用例运行后,是否应该删除与此测试用例相关的测试数据 保留测试数据是否有助于开发人员调试代码?是的,单元测试应该以“干净”的数据库、文件系统等开始和结束。每个测试都应该保留发现的内容 除此之外,这有助于可重新运行性-您可以一次又一次地重新运行测试 但是,有时在开发和调试时,禁用数据删除可能会很有用 实现所有这些都有一个真正的技巧,例如在使用Java、Spring和数据库时,您可以使用Spring的事务管理来轻松地回滚所有更改。作为一种良好实践,测试用例必须在完成后删除其测试数据,以便

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


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

是的,单元测试应该以“干净”的数据库、文件系统等开始和结束。每个测试都应该保留发现的内容

除此之外,这有助于可重新运行性-您可以一次又一次地重新运行测试

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


实现所有这些都有一个真正的技巧,例如在使用Java、Spring和数据库时,您可以使用Spring的事务管理来轻松地回滚所有更改。

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

我建议从清理和插入首选测试数据开始测试。然后让数据库保持原样

这种方法的优点:

  • 易于手动验证您的服务是否按预期工作
  • 测试数据在启动之前不会被其他服务损坏,因为该工作是在测试之前立即完成的
该框架实际上是为了在每个测试方法之前,在setUp()方法中清理测试数据并将其插入测试数据库而构建的。使用这种方法,建议为每个开发人员使用单独的数据库