gpt4 book ai didi

java - 如何回滚@AfterClass 中的数据库更改?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:49:23 24 4
gpt4 key购买 nike

我知道如何配置 Spring/JUnit 在每个测试用例后回滚。我所追求的是一种为所有测试用例启动和回滚一个事务的方法。

我正在使用@BeforeClass 为几个测试用例准备我的 HSQL 数据库。然后我想在@AfterClass 中的所有测试用例结束后回滚更改。

实现此回滚的最佳方法是什么?

这是我的代码示例:

@BeforeClass
public static void setupDB(){
ApplicationContext context = new ClassPathXmlApplicationContext(
"classpath:/spring/applicationContext-services-test.xml");
//- get beans and insert some records to the DB
...
}

@AfterClass
public static void cleanUp(){
??? what should go here?
}

关于在 AfterClass 中进行回滚的最佳方法有什么想法吗?

感谢大家..

最佳答案

如果您可以接受在每次测试后回滚并使用 Spring,我项目中的以下代码片段可能会对您有所帮助:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:/net/sukharevd/shopzilla/model/application-context-dao.xml" })
@TestExecutionListeners(DependencyInjectionTestExecutionListener.class)
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
@Transactional
public class HibernateCategoryDaoTest extends AbstractTransactionalJUnit4SpringContextTests {

关于java - 如何回滚@AfterClass 中的数据库更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11387294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com