2017-06-02 3 views
0

Ist es irgendeine Möglichkeit, Antworten mit Robospice in Android verspotten, weil ich eine Demo-Anwendung erstellen müssen, die alle Antworten in JSON-Dateien in der Anwendung haben wird? Ich habe versucht, https://github.com/andrzejchm/RESTMock zu verwenden, aber es gibt einige Probleme, ich bekomme Informationen: RESTMock successfully started! url: http://localhost:34163/ und sonst nichts. Irgendeine andere Idee?Mocking Antworten in Robospice

+0

Möchten Sie die Antworten in der App selbst mocksen oder einen Mock-Server wie RESTMock oder Wiremock verwenden, mit denen Ihre App kommuniziert? – tprebs

+0

Es wäre großartig, wenn es innerhalb der Anwendung ohne Verbindung zu den realen Servern sein könnte. Also RESTMock ist eine gute Option, aber es funktioniert nicht. Ich starte Server in der Application-Klasse und füge 'RESTMockServer.whenRequested' hinzu, aber es funktioniert nicht – falsetto

+0

Machst du deine Robospice-Anfragen an die URL von RESTMock (http: // localhost: 34163)? – tprebs

Antwort

0

Innerhalb Ihrer Application Klasse können Sie RESTMock beginnen mit:

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

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

Dieser Ihr RESTMock Server nicht eingerichtet, aber tun keine HTTP-Anfragen, als der noch. Sie müssen nun die Server-URL Ihres RESTMock den Methoden zum Abrufen von Daten bereitstellen. Zum Beispiel, wenn Sie Retrofit verwenden:

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

Von nun an hat jede Anforderung Nachrüstung verwenden, sollten direkt mit dem RESTMock Server kommunizieren und richtig Antworten holen, die Sie als Mocks angeben.