gpt4 book ai didi

spring - 如何同时运行 Spring Boot 测试?

转载 作者:行者123 更新时间:2023-12-05 03:44:12 26 4
gpt4 key购买 nike

我有多个 Spring 测试,一个接一个执行,而我想同时运行它们。

代码示例:

@SpringBootTest
@RunWith(Suite.class)
@Suite.SuiteClasses({
Test1.class,
Test2.class,
Test3.class,
...
})
public class SuiteStarter { }


@RunWith(SpringRunner.class)
@SpringBootTest
public class Test1 {
@Autowired | @Value fields;

@org.junit.Test
public void test1_1() {
Assertions.assertThat(something1());
}
@Test
public void test1_2() {
Assertions.assertThat(something2());
}
}
...

是否有类似于仅使用@Async 注释 Suite 类的东西?我有数百个具有多种方法的测试类,所以最好的解决方案是只更改 SuiteRunner 类,更改越少越好,因为我害怕破坏测试。

如果有帮助的话,我对所有测试都有相同的应用程序上下文。

Running JUnit Test in parallel on Suite Level?提供的链接已失效且不接受答案。我不需要像此链接中那样的 maven 并行运行 Running junit tests in parallel in a Maven build? .我也不需要在这里回答 Running Tests in Parallel with Junit因为它具有实验性功能,而且代码看起来也很丑。

最佳答案

您可以通过将此配置添加到 maven 来使用新的 spring 5 功能进行并行测试执行:

<build>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<parallel>methods</parallel>
<useUnlimitedThreads>true</useUnlimitedThreads>
</configuration>
</plugin>

更多细节可以在这里找到: Concurrent Test Execution in Spring 5

关于spring - 如何同时运行 Spring Boot 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66597324/

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