[SPRING] 스프링 부트 웹 애플리케이션이 JUnit에서 다시 시작해야합니다.
SPRING스프링 부트 웹 애플리케이션이 JUnit에서 다시 시작해야합니다.
극한의 상황에 빠지지 않고 Junit 테스트를 한 번에 실행하면 문제가 발생합니다. 클래스별로 클래스를 실행하면 모든 것이 훌륭합니다! 그렇지 않으면 junit-test-class에서 WebApplication을 다시 시작할 수 없기 때문에 문제가 발생합니다. 이로 인해 Zookeeper 서버 클라이언트가 내 WebApplication에서 Zookeeper 서버의 종료 및 시작을 거쳐 클래스 사이에서 중단 된 후에 중단됩니다. 그 사육사 서버 클라이언트는 서버와 재 동기화하는 데 시간이 걸릴 수 있으며 예측할 수없는 동작이 발생합니다 ...
JUnit 테스트의 @BeforeClass 및 @AfterClass 메서드에서 무언가를 호출하여 SpringBootServletInitializer 클래스를 다시 시작하는 방법이 있습니까?
WebApplication.java
@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);
}
}
해결법
-
==============================
1.@DirtiesContext 주석을 사용할 수 있습니다.
@DirtiesContext 주석을 사용할 수 있습니다.
이것은 스프링 테스트 러너에게 테스트 메소드 사이의 컨텍스트를 다시로드 할 것을 암시합니다.
from https://stackoverflow.com/questions/33151702/i-need-my-spring-boot-webapplication-to-restart-in-junit by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring MVC 3에서 뷰 / 응답 가로 채기 (0) | 2019.04.23 |
---|---|
[SPRING] java.lang.ClassCastException : java.lang.Class를 java.lang.reflect.ParameterizedType에 캐스트 할 수 없다 (0) | 2019.04.23 |
[SPRING] Spring : 런타임시 인터페이스 구현을 변경하는 방법 (0) | 2019.04.23 |
[SPRING] RoboSpice는 OrmLite를 사용하여 JSON 배열을 유지합니다. (0) | 2019.04.23 |
[SPRING] 제네릭과 모치토 일치 (0) | 2019.04.23 |