2015-01-16 9 views
0

GwtTestCase를 잠시 사용하고 있으며 간단한 RestyGwt 클라이언트 API를 테스트하려고합니다. 서블릿을 gwt.xml 클래스에 추가했지만 서블릿에서 로깅을 가져올 수 없습니다. 서블릿이 생성되지 않은 것 같습니다.gwt 테스트 케이스에서 서블릿 로깅을받을 수 있습니까?

다음은 런타임 예외를 던지는 것을 비롯하여 어떤 종류의 정보를 얻으려고 시도한 간단한 서블릿입니다.

public class JerseyTestServlet extends ServletContainer { 

    { 
     System.err.println("RUNNING JERESEY TEST SERVLET"); 
    } 

    private static final long serialVersionUID = -7518118461257020639L; 

    public JerseyTestServlet() { 
     super(new RestApplication()); 

     System.out.println("RUNNING JERESEY TEST SERVLET"); 
     throw new RuntimeException("FOOO"); 
    } 
} 

클래스는 서블릿의 클래스 이름 및 패키지와 일치합니다.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.5.1/distro-source/core/src/gwt-module.dtd"> 
<module rename-to='simulator'> 

    <inherits name="com.testing.NgProductionClient" /> 

    <servlet path='/rest' class='com.testing.JerseyTestServlet'/> 
</module> 

나는 그들이 arrise으로 내가 path'ing 문제를 해결할 수 있습니다 시작할 때 서블릿에 대한 정보를 디버깅 일종의 싶어. GwtTestCase 내부의 서블릿에서 디버깅 정보를 가져올 수 있습니까?

답변

0

물론 실수였습니다. .gwt.xml 파일에는 나머지 서비스에 대한 glob 경로가 있어야하므로 내 경우에는/rest/*가 필요합니다. 내가 이것을 한 후에는 단위 테스트를 위해 휴식 서비스가 이루어졌습니다. 또한 기본적으로로드 할 옵션을 제공하지 않으면 서블릿이 기본적으로 시작되지 않는다는 사실을 잊어 버렸지 만 web.xml을 사용하는 테스트 프레임 워크 없이는 이것이 가능하지 않습니다. 솔루션에 만족하고 Mock'd 나머지 클라이언트를 테스트하는 것이 매우 간단합니다.