Standardmäßig liest Mocha eine Datei mit dem Namen test/mocha.opts
, die Befehlszeilenargumente enthalten kann. Sie können also eine solche Datei erstellen, die Folgendes enthält:
--timeout 5000
Wenn Sie Mocha über die Befehlszeile ausführen, wird diese Datei gelesen und standardmäßig eine Zeitüberschreitung von 5 Sekunden festgelegt.
Eine andere Möglichkeit, die je nach Ihrer Situation besser sein kann, besteht darin, sie in einem describe
Aufruf der obersten Ebene in Ihrer Testdatei wie folgt festzulegen:
describe("something", function () {
this.timeout(5000);
// tests...
});
Auf diese Weise können Sie eine Zeitüberschreitung nur pro Datei festlegen.
Sie können beide Methoden verwenden, wenn Sie einen globalen Standardwert von 5000 möchten, für einige Dateien jedoch etwas anderes festlegen möchten.
Beachten Sie, dass Sie im Allgemeinen keine Pfeilfunktion verwenden können, wenn Sie anrufen this.timeout
(oder auf ein anderes Mitglied this
dieser Mokka-Sets für Sie zugreifen möchten ). Zum Beispiel funktioniert dies normalerweise nicht :
describe("something", () => {
this.timeout(5000); //will not work
// tests...
});
Dies liegt daran, dass eine Pfeilfunktion this
den Bereich übernimmt, in dem die Funktion angezeigt wird. Mocha ruft die Funktion mit einem guten Wert für auf, this
aber dieser Wert wird nicht innerhalb der Pfeilfunktion übergeben. In der Dokumentation zu Mocha heißt es zu diesem Thema :
Es wird davon abgeraten, Pfeilfunktionen („Lambdas“) an Mokka zu übergeben. Aufgrund der lexikalischen Bindung können solche Funktionen nicht auf den Mokka-Kontext zugreifen.