使用Spring MockMvc测试时的回滚事务

时间:2020-09-02 16:35:55

标签: java spring testing junit transactions

我看过关于它的多个话题。但是,没有人能真正解决我的问题。

我有一个具有三个传统层的Spring Boot 2.3应用程序:控制器,服务和DAO。交易在我的服务层中声明。

我想使用MockMvc测试我的Controller层,我希望在测试结束时回滚事务,以便它们都保持独立。但是,我不希望测试为Controller类提供对事务上下文的访问权限,以使其具有与运行时相同的配置。

我创建了以下课程:

@SpringBootTest
@AutoConfigureMockMvc
public class ApiIT {

    @Autowired
    private MockMvc mvc;

    @Test
    void restEndpointTest() {
...

此配置不会在测试结束时回滚事务。 当我用@Transactional注释类时,它们会回滚,但是Controller类可以访问事务上下文。

0 个答案:

没有答案