사소한 질문 인 경우 사전에 사과드립니다. C#/.NET의 배경에서 봄 프레임 워크를 처음 접했습니다.유닛 테스트 봄 부팅 애플리케이션 엔드 포인트
"/ health"에 정의 된 건강 종점이있는 작은 스프링 부팅 응용 프로그램이 있습니다. 이것은 코드에서 다음과 같이 정의됩니다.
@Component
public class MyHealthEndpoint implements HealthIndicator {
public Health health() {
# ...
# returns health info as JSON here
# ...
}
}
따라서 응용 프로그램을 실행할 때 localhost/health에서 엔드 포인트를 방문하면 일부 응용 프로그램 상태 정보가 반환됩니다.
내 질문은 : 이것을 테스트하는 가장 좋은 방법은 무엇입니까?
MyHealthEndpoint 클래스의 단위 테스트를하고 싶습니다. 작동하지 않는 @Autowired를 사용하여 테스트 클래스에서 인스턴스화를 시도했습니다. 또한
MyHealthEndpoint testHealthEndpoint = new MyHealthEndpoint();
와 테스트 클래스에서 인스턴스화 시도했지만이 너무 분명 의존성 주입/봄 부팅에서 IOC가 등록하지 않거나, 난, 아니 건강 정보와 하늘의 새 클래스를 반환 스프링에 대한 초보자가 너무 많아 올바르게 수행하는 법을 알지 못합니다.
응용 프로그램을 시작하고 테스트 http GET 호출을 끝점으로 직접 실행 한 다음 반환 된 JSON을 지정하거나 더 좋은 아이디어가 있으면 통합 테스트를 실행할 수있는 유일한 솔루션입니까?
감사합니다.
한편 나는 Spring * MVC 테스트 프레임 워크 * https://spring.io/blog/2012/11/12/spring-framework-3-2-rc1-spring-mvc-test-framework를 사용하기 시작했다. 스프링 기반 REST 엔드 포인트 테스트에 적합한 솔루션입니다. –