Apache Wink 1.2.1을 사용합니다. 나는 단위 테스트에 내 REST 서비스를 원하고, 차라리 RestClient을 사용하지 않고하고 싶습니다. 나는 어떤 예도 찾지 못했지만, 많은 검색을 한 후에 나는 MockServletInvocationTest이 올바른 출발점이었다고 생각했다. 그러나 나는 그것을 작동하게 만들지 못했다.유닛 테스트 MockServletInvocationTest를 사용한 Apache Wink REST 서비스
나를 위해 실패하는 최소한의 예입니다.
내 REST 서비스 : 대응하는 단위 테스트@Path("greetings")
public class GreetingsResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String hello() {
return "Hello World!";
}
}
:
public class GreetingsResourceTest extends MockServletInvocationTest {
@Override
protected Class<?>[] getClasses() {
return new Class<?>[] { GreetingsResource.class };
}
public void testHello() throws ServletException, IOException {
MockHttpServletRequest request = MockRequestConstructor.
constructMockRequest("GET", "/greetings", MediaType.TEXT_PLAIN);
MockHttpServletResponse response = invoke(request);
assertEquals(200, response.getStatus());
}
}
그래서, 나는 몇 가지 질문이 있습니다
내가 잘못된 방향으로 가고 있는가 ?
내가 올바른 방향으로 가고 있다면, 내가 뭘 잘못하고있는 걸까요? 이전 테스트 케이스를 실행할 때 나는 다음과 같은 오류 (난 정말 이해가 안되는) 얻을 : 내 문제가 무엇인지 발견
java.lang.NoSuchMethodError: javax/servlet/http/HttpServletResponse.getContentType()Ljava/lang/String; at org.apache.wink.server.internal.handlers.FlushResultHandler$FlushHeadersOutputStream.flushHeaders(FlushResultHandler.java:350) ~[wink-server-1.2.1-incubating.jar:1.2.1-incubating]
어떻게 종속성 오류를 파악 했습니까? '메이븐 트리 '? –
@bubuzzz : 나는 솔직히 내가 어떻게 알아 냈는지 기억하지 못합니다. :) 필사적 이었기 때문에 나는 모든 Maven 의존성 트리를 살펴보기 시작했습니다. – MarcoS