Spring Boot集成测试-如何在单个上下文中运行多个测试类?

时间:2019-07-18 13:47:15

标签: java spring spring-boot integration-testing

我有一个Spring Boot项目,其中定义了几个api端点。我目前正在为每个这些API编写集成测试。我注释了我的测试类,如下所示。

@RunWith(SpringRunner.class)
@SpringBootTest
...

现在,对于我的每个测试类,都为执行它们设置了新的上下文,这需要时间。我更喜欢将每个api端点的测试用例保存在单独的类中,以进行逻辑组织,但是我不希望每次添加新的控制器类和相应的测试类时,测试执行时间都会花很多时间。我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

只要您的测试使用相同的上下文(模拟相同的Bean,配置相同),默认情况下,spring会在创建新上下文之前重用一个可初始化的上下文。

使用@DirtiesContext注释测试时出现异常 这告诉跑步者使使用的上下文无效。