Har*_*rry 5 java spring spring-mvc spring-test spring-transactions
我有以下情况:
@Test
@Sql(scripts = "before.sql" , executionPhase = BEFORE_TEST_METHOD, config = @SqlConfig(transactionMode = ISOLATED))
@Sql(scripts = "cleanUp.sql", executionPhase = AFTER_TEST_METHOD , config = @SqlConfig(transactionMode = ISOLATED))
Run Code Online (Sandbox Code Playgroud)
我需要在测试开始之前提交测试数据(必须提交),然后清理该数据。
问题是,当执行 AFTER_TEST_METHOD 时,它会挂起当前事务以便创建一个新事务(因为隔离),因此如果我的 mockMvc.perform(...) 正在锁定测试数据,则测试无法完成,因为隔离的事务正在等待锁定。
如果我使用 INFERRED,则清理将重用从 Spring 事务管理器滚动烘焙的现有事务,因此 BEFORE_TEST_METHOD 提交的数据将保留。
有什么方法可以解决这个问题,我缺少一些配置吗?
谢谢。
PS我正在使用testNG
| 归档时间: |
|
| 查看次数: |
854 次 |
| 最近记录: |