Java Spring Boot集成测试-如何使用单个上下文运行多个测试类?

Java Spring Boot集成测试-如何使用单个上下文运行多个测试类?,java,spring,spring-boot,integration-testing,Java,Spring,Spring Boot,Integration Testing,我有一个SpringBoot项目,其中定义了几个api端点。我目前正在为每个API编写集成测试。我对我的测试类进行如下注释 @RunWith(SpringRunner.class) @SpringBootTest ... 现在,对于我的每个测试类,都设置了一个新的上下文来执行它们,这需要时间。我更喜欢将每个api端点的测试用例保存在单独的类中,以便在逻辑上组织它们,但我不希望每次添加新的控制器类和相应的测试类时,测试执行时间都急剧增加。我做错了什么 只要您的测试使用相同的上下文(相同的模拟be

我有一个SpringBoot项目,其中定义了几个api端点。我目前正在为每个API编写集成测试。我对我的测试类进行如下注释

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

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

只要您的测试使用相同的上下文(相同的模拟bean,相同的配置),spring默认情况下会在创建新上下文之前重用合适的上下文

使用
@DirtiesContext

这会告诉运行程序使所使用的上下文无效。

如果您不想为每个测试用例启动spring引导,那么您需要将所有测试用例保存在一个类中