Java 我需要我的SpringBootWebApplication在JUnit中重新启动
不必详细说明,我在一次运行Junit测试时遇到了一个问题。如果我一班一班地运行它们,一切都很好!否则我会遇到麻烦,因为我无法在junit测试类之间重新启动我的WebApplication。这导致我的Web应用程序中有Zookeeper服务器客户端,在我关闭和启动Zookeeper服务器之后,这些客户端会在类之间挂起。这些Zookeeper服务器客户端可能需要一段时间才能与服务器重新同步,这会导致不可预知的行为 有没有办法通过调用JUnit测试的@BeforeClass和@AfterClass方法来重新启动SpringBootServletilizer类 WebApplication.javaJava 我需要我的SpringBootWebApplication在JUnit中重新启动,java,spring,junit,spring-boot,apache-zookeeper,Java,Spring,Junit,Spring Boot,Apache Zookeeper,不必详细说明,我在一次运行Junit测试时遇到了一个问题。如果我一班一班地运行它们,一切都很好!否则我会遇到麻烦,因为我无法在junit测试类之间重新启动我的WebApplication。这导致我的Web应用程序中有Zookeeper服务器客户端,在我关闭和启动Zookeeper服务器之后,这些客户端会在类之间挂起。这些Zookeeper服务器客户端可能需要一段时间才能与服务器重新同步,这会导致不可预知的行为 有没有办法通过调用JUnit测试的@BeforeClass和@AfterClass方法
@ComponentScan
@EnableAutoConfiguration
@EnableWebMvc
@EnableHyperMediaSupport(...)
@PropertySources(...)
public class WebApplication extends SpringBootServletInitializer
{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)
{
return builder.sources(WebApplication.class);
}
@Override
protected WebApplicationContext run(SpringApplication application)
{
application.getSources().remove(ErrorPageFilter.class);
return (WebApplicationContext) application.run();
}
public static void main(String[] args)
{
SpringApplication.run(WebApplication.class, args);
}
}
您可以使用注释
这将提示Spring测试运行程序在测试方法之间重新加载上下文。可能
@DirtiesContext
?答对 了请将您的评论转换为答案,以便我检查:D