Wie kann ich diesen Test bestehen, ohne auf Läufe / Wartezeiten für Blöcke zurückzugreifen?
it("cannot change timeout", function(done) {
request("http://localhost:3000/hello", function(error, response, body){
expect(body).toEqual("hello world");
done();
});
});
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
Wertänderung hat mir bei einem brandneuen Setup geholfen, das mit Jasmine + Jest von Grund auf neu erstellt wurde. Es funktioniert wie erwartet.Pull-Anfrage für diese Funktion gesendet ( https://github.com/mhevery/jasmine-node/pull/142 )
quelle
Gehen Sie folgendermaßen vor, um das globale Jasmin-Knoten-Zeitlimit festzulegen:
Dank an Entwickler Gabe Hicks für das Herausfinden des .getEnv () - Teils durch Debuggen trotz Fehlinformationen im README-Dokument, das behauptet, dies sei durch Setzen von jasmine.DEFAULT_TIMEOUT_INTERVAL geschehen.
Wenn Sie ein benutzerdefiniertes Zeitlimit nur für ein it () festlegen möchten, können Sie versuchen, das Zeitlimit (Millisekunden) als drittes Argument (nach der Zeichenfolgenanweisung und der Funktion) zu übergeben. Es ist ein Beispiel dafür , dass getan wird hier , aber ich bin sicher nicht das, was , wenn das benutzerdefinierte Timeout passieren würde , ist länger als Jasmins Standard. Ich gehe davon aus, dass es scheitern würde.
quelle
jasmine.DEFAULT_TIMEOUT_INTERVAL = 12000;
eine globale Konfigurationsdatei hinzugefügt, die ich für alle Tests verwende, und sie funktioniert wie erwartet.Sieht so aus, als könnten Sie es jetzt als letztes Argument für die
it
Funktion hinzufügen :quelle
Platzieren Sie dies in Angular außerhalb Ihres Beschreibungsblocks:
Dies gilt für alle Tests in der Datei .spec.ts
quelle
Setzen Sie es nach
describe
Aussage:quelle
Warum nicht durch Ausspionieren
setTimeout()
?Etwas wie:
quelle
Hinzufügen:
jasmine.DEFAULT_TIMEOUT_INTERVAL = yourTime;
auf einer Hilfedatei hat bei mir funktioniert.quelle
In meinem Fall hatte ich mehrere Testfälle und während ich die oben genannte Lösung mit verwendete, verwendete ich:
Das DEFAULT_TIMEOUT_INTERVAL wurde beim ersten Testfall nicht aktualisiert, daher musste ich Folgendes hinzufügen:
zu meinem Code, um alle Tests erfolgreich auszuführen.
quelle
Ändern Sie j $ .DEFAULT_TIMEOUT_INTERVAL in der folgenden Datei in 10000: npm \ node_modules \ jasmine-core \ lib \ jasmine-core
quelle