Spring的TestNG回滚事务不起作用

时间:2018-07-11 09:29:17

标签: java spring unit-testing testng dao

在我的general question之后,我有一个使用spring jdbcTemplate的特定问题,我想在每次执行以下DAO方法后回退特定的测试方法。

添加@Transactional@Rollback(true)无法回滚插入

在连接之前/之后进行连接并回滚也无效

@Test
@Transactional
@Rollback(true)
public void testInsertUser() {
    Assert.assertEquals(userDAO.insertUser(new User(55616103, true, true, false)), true);
}

如何使用TestNG框架回滚单元测试?大多数answers使用Junit的@RunWith(SpringJUnit4ClassRunner.class)

我无法使用TestNG自动连接jdbcTemplate

@Autowired
private JdbcTemplate jdbcTemplate;

但是成功使用SpringJUnit4ClassRunner并包含Configuration类包括jdbcTemplate / DataStource

TestNG可以选择使用Spring上下文执行吗?

1 个答案:

答案 0 :(得分:1)

解决方案是将AbstractTestNGSpringContextTests替换为AbstractTransactionalTestNGSpringContextTests

参考:Spring + TestNG not transactionally rollback