测试 - 如何处理创建新数据的集成测试

时间:2015-06-17 13:11:35

标签: testing junit automated-tests integration-testing

假设我有一个测试断言系统中新用户的注册是否实际成功:

RegistrationIntegrationTest#testRegister()

现在,这会在实际数据库中创建一个新的测试用户,因为我希望此测试在实际环境中运行。这意味着测试不能一直运行,对吧?我应该如何处理这类测试?那些使用系统的实际环境并操纵实际数据的人?

1 个答案:

答案 0 :(得分:4)

您可以使用以下其中一项:

  1. 如果可能,请使用像hsqldb这样的内存数据库,您可以为每个TestSuite / TestCase重新创建或设置
  2. 如果测试中的方法是事务性的,请使用spring junit rollback true
  3. 运行测试用例
  4. 如果你不能使用1或2,你可以写一个pre& post test sql脚本将设置&然后清理你的数据库。您可以使用dbunit
  5. 这样的框架