したがって、RPC 要求を処理するこの GWT コードが状態 (準備完了、待機中、エラーなど) を維持するようにしています。そして、各呼び出しの後にクラスが正しく状態を変更するかどうか、応答変数を設定するかどうかなどを確認したいと思います.
サーバーに実際のリクエストを行わずに(サーバー自体でエラーが発生する可能性があります)、それをテストするにはどうすればよいですか。
リクエスト コールバック クラスを何らかの方法でモックできると思いますが、テストには表示されません。
道に迷った、助けて!
以下のコードのサンプル(誰かが望む場合に備えて、後ですべてを投稿します)。
public class RPCHandler
{
public RPCHandler(String method,String[] argumentsName,
String[][] argumentsValues)
{
this.method = method;
this.argumentsName = argumentsName;
this.argumentsValues = argumentsValues;
}
/**
* Method that creates a RPC request using JSON in a POST
*
*/
public void rpcRequest(){
if(currentState == HandlerState.WAITING_RESPONSE)return;
currentState = HandlerState.WAITING_RESPONSE;
// Append watch list stock symbols to query URL.
url = URL.encode(url);
url += "action=";
url += method;
// Send request to server and catch any errors.
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
String requestData = parseToJSON(argumentsName, argumentsValues);
try{
Request request = builder.sendRequest(requestData, new RequestCallback()
{
public void onError(Request request, Throwable exception)
{
setRPCException(new Exception("Error while saving. Action="+method));
setCurrentState(HandlerState.ON_ERROR);
}
//Few other error, response received hander methods after this point.
}
}