2009-08-03 7 views
0

그래서 RPC 요청을 처리하는이 GWT 코드는 상태 (준비, 대기, 오류 등)를 유지합니다. 그리고 각 호출 후에 클래스가 상태를 올바르게 바꿔서 응답 변수를 설정했는지 확인하고 싶습니다.Java 클래스 내부 조롱

이제 실제로 서버에 요청하지 않고 테스트를 진행해야합니다. 서버 자체).

요청 콜백 클래스를 어떻게 든 모의 할 수는 있지만 테스트에는 보이지 않습니다.

나는 길을 잃었습니다.

아래의 코드 샘플 (나중에 모든 사람이 원하는 경우에 게시합니다).

답변

2

실제 전송을 조롱하고있는 것처럼 보이므로 RequestBuilder 클래스의 모의를 작성해야합니다. JMockit에서는 다음과 같이 쓸 수 있습니다.

public class MockRequestBuilder 
{ 
    public void $init(int method, String url) 
    { 
    /* check values and/or store for later */ 
    } 

    public Request sendRequest(String data, RequestCallback callback) 
    { 
    /* check values and/or store for later */ 
    } 
} 

모의 할 작업에 대한 세부 정보를 입력해야합니다. 당신 안에 당신의 외부 클래스의 명명 된 클래스 인스턴스에 콜백을 이동 한 경우 또한, 당신은 콜백 테스트를 분리 할 수 ​​있습니다 : 클래스에 콜백 객체를 이동 팩토리 메소드를 사용하여

public class MyGWTClass 
{ 
    protected static class RpcCallback extends RequestCallback 
    { 
     public void onError(...) { ... } 
    } 
} 

, 당신은 테스트를 만들 수 있습니다 콜백 만 확인하십시오.

+0

사용, 작업, 사랑 : D – Diones