2017-06-02 308 views
0

在Android中使用Robospice模擬響應是否有可能,因爲我需要創建一個演示應用程序,它將在應用程序中的json文件中包含所有響應?我試圖使用https://github.com/andrzejchm/RESTMock,但有一些問題,我得到的信息:RESTMock successfully started! url: http://localhost:34163/,沒有別的。任何其他想法?Robospice中的模擬響應

+0

你想嘲笑自己的應用程序內的反應,或有一個模擬服務器,如您的應用程序與RESTMock或Wiremock通信? – tprebs

+0

如果它可能在應用程序內部而沒有與真實服務器連接,那將會很棒。所以RESTMock是不錯的選擇,但它不起作用。我在Application類中啓動了服務器並添加了'RESTMockServer.whenRequested',但它不起作用 – falsetto

+0

您是否在向RESTMock(http:// localhost:34163)的url發送Robospice請求? – tprebs

回答

0

在您Application類,你可以開始RESTMock:

@Override 
public void onCreate() { 
    super.onCreate(); 
    RESTMockServerStarter.startSync(new AndroidAssetsFileParser(getContext()),new AndroidLogger()); 

    RESTMockServer.whenRequested(pathContains("response")) 
     .thenReturnFile(200, "response.json"); 
} 

這並設置您RESTMock服務器,但沒有做任何HTTP請求的呢。您現在需要將RESTMock的服務器url提供給獲取數據的方法。例如,如果你使用的改造:

Retrofit retrofit = new Retrofit.Builder() 
      .baseUrl(RESTMockServer.getUrl()) 
      .build(); 

從現在開始,每個請求使用改造應與RESTMock服務器直接溝通,正確抓取您指定的嘲笑作出迴應。