事务回滚在JUnit5的@Nested类的测试用例中不起作用

我使用spring-boot,JUnit5,Mybatis。

@SpringJUnitJupiterConfig(classes = {RepositoryTestConfig.class})

@MapperScan

@Rollback

@Transactional

public class TestClass {

@Autowired

private TestMapper testMapper;

@BeforeEach

void init() {

User user = new User();

testMapper.insert(user);

}

@Test

public void test1() {

// (1) success rollback

}

@Nested

class WhenExistData {

@Test

public void test2() {

// (2) rollback not working

}

}

}

(1)正在工作回滚。并输出以下日志。

2017-05-26 22:21:29 [INFO ](TransactionContext.java:136) Rolled back transaction for test context ...

但是,(2)不起作用。我希望能够回滚到@Nested

回答:

我用以下方式解决了。

@SpringJUnitJupiterConfig(classes = {RepositoryTestConfig.class})

@MapperScan

@Rollback

@Transactional

public class TestClass {

@Autowired

private TestMapper testMapper;

@BeforeEach

void init() {

User user = new User();

testMapper.insert(user);

}

@Nested

@SpringJUnitJupiterConfig(classes = {RepositoryTestConfig.class})

@MapperScan

@Rollback

@Transactional

class WhenExistData {

@Test

public void test2() {

}

}

}

以上是 事务回滚在JUnit5的@Nested类的测试用例中不起作用 的全部内容, 来源链接: utcz.com/qa/419345.html

回到顶部