gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 03:46:22 25 4
gpt4 key购买 nike

我用的是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

最佳答案

这是意料之中的:Spring TestContext Framework 从未支持嵌套测试类的“继承”。

因此,您的“变通办法”实际上是此时实现目标的正确方法。

但是请注意,我可能会结合 SPR-15366嵌套 测试类添加对“伪继承”的支持。 .

问候,

Sam(Spring TestContext Framework 的作者)

关于java - 事务回滚在 JUnit5 的 @Nested 类中的测试用例中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51961551/

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