Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
Spring事务测试-在BeforeClass中准备数据_Spring_Transactions - Fatal编程技术网

Spring事务测试-在BeforeClass中准备数据

Spring事务测试-在BeforeClass中准备数据,spring,transactions,Spring,Transactions,我想在@BeforeClass中创建一些数据,并在@Test方法中使用它们。 在所有测试完成(失败或成功)后,我想回滚数据 这可以通过使用注解@BeforeClass、@Transactional来实现,而不必显式地清理数据吗 我们这里也有类似的问题。我们的解决方案是为每个测试类提供一个嵌入式H2数据库(只需几秒钟即可设置第一个数据库;之后,它就不再那么引人注目了) 这允许我们将任何类型的测试数据加载到数据库中,而无需在所有测试运行后清理这些数据 每个测试仍然会获得自己的事务,因此在每个单独的测

我想在@BeforeClass中创建一些数据,并在@Test方法中使用它们。 在所有测试完成(失败或成功)后,我想回滚数据


这可以通过使用注解@BeforeClass、@Transactional来实现,而不必显式地清理数据吗

我们这里也有类似的问题。我们的解决方案是为每个测试类提供一个嵌入式H2数据库(只需几秒钟即可设置第一个数据库;之后,它就不再那么引人注目了)

这允许我们将任何类型的测试数据加载到数据库中,而无需在所有测试运行后清理这些数据

每个测试仍然会获得自己的事务,因此在每个单独的测试之后,每个类的数据库都会回滚到原始状态

为了调试测试,我们将使用
@Transactional(rollback=false)
注释单个测试,以便我们可以使用SQL工具查看数据库

另一个测试将检查所有测试类,查找此注释以确保没有人意外提交它