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% 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.
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.
Tags und Links javascript reactjs chai jest nock