Wie testet man reaction-saga axios post

8

Ich lerne, wie ich einige Beispiele testen und verwenden kann. Ich versuche, einen Login-Post zu verspotten. Das Beispiel verwendet für den HTTP-Aufruf, aber ich benutze Axios. Dies ist der Fehler, den ich bekomme

  

Timeout - Der Async-Callback wurde nicht innerhalb des von jasmine.DEFAULT_TIMEOUT_INTERVAL

angegebenen Timeouts aufgerufen

Alle Antworten auf diesen Fehler haben mit fetch zu tun, wie mache ich das mit axios

./ saga

%Vor%

./ Login-Test

%Vor%     
texas697 15.08.2017, 15:59
quelle

2 Antworten

1

Sie haben den folgenden Fehler erhalten: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL , weil Sie den done Callback in Ihrem Test nicht aufgerufen haben.

    
socrateisabot 21.08.2017, 22:39
quelle
1

Da Sie in Ihrem { userName: '[email protected]', password: 'xxxxx' } mocking einen Body ( nock ) angegeben haben Es antwortet nicht loginReply , bis es eine Post-Anfrage mit der angegebenen URL und dem Body erhält. Aber Sie senden credentials nicht mit Ihrer Aktion LOGIN_REQUEST und daher ist Ihr axios-Anfragetext ( payload.data ) immer leer. Deshalb antwortet Ihr nock mocking nicht innerhalb des angegebenen asynchronen Timeouts und jest gibt diesen Zeitüberschreitungsfehler.

Um das Problem zu beheben, müssen Sie entweder den angegebenen Body in Ihrer nock -Ausführung oder -Ausgabe LOGIN_REQUEST -Aktion mit den Anmeldeinformationen entfernen und den angegebenen Text so ändern, dass die codierten Anmeldeinformationen mit payload übereinstimmen.

    
Tharaka Wijebandara 20.08.2017 17:30
quelle

Tags und Links