Java 如何分离spring启动测试上下文
我的SpringBoot测试有问题。我有两组测试:一组使用Junit5的常规SpringBoot测试上下文,另一组必须启动SpringServer,以便我可以测试应用程序的SpringSecurity部分。我有一个主要的测试类,它是用SpringExtension.class扩展的,名为TestBase:Java 如何分离spring启动测试上下文,java,spring-boot,spring-security,spring-boot-test,Java,Spring Boot,Spring Security,Spring Boot Test,我的SpringBoot测试有问题。我有两组测试:一组使用Junit5的常规SpringBoot测试上下文,另一组必须启动SpringServer,以便我可以测试应用程序的SpringSecurity部分。我有一个主要的测试类,它是用SpringExtension.class扩展的,名为TestBase: @ExtendWith(SpringExtension.class) public abstract class TestBase { ... some code ... } 然后我还有其他
@ExtendWith(SpringExtension.class)
public abstract class TestBase {
...
some code
...
}
然后我还有其他扩展TestBase的类。测试spring安全性的类如下所示:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class WebSecurityTest extends TestBase{
...
some code
...
}
在我的应用程序中,我还使用JMS事件和队列,并进行了测试,该测试也测试了我代码的这一部分。
因为我有这两组测试,SpringBoot在一次运行中启动了两个spring测试上下文,这会创建不必要的竞争条件,并且我的带有事件的测试失败。
所以我想知道什么是区分这两种情况的好方法?
我使用的是SpringBoot 2.3.1版