Domyślnie Mocha odczyta plik o nazwie, test/mocha.opts
który może zawierać argumenty wiersza poleceń. Możesz więc stworzyć taki plik, który zawiera:
--timeout 5000
Za każdym razem, gdy uruchomisz Mocha w wierszu poleceń, odczyta ten plik i domyślnie ustawi limit czasu na 5 sekund.
Innym sposobem, który może być lepszy w zależności od sytuacji, jest ustawienie tego w następujący sposób describe
w wywołaniu najwyższego poziomu w pliku testowym:
describe("something", function () {
this.timeout(5000);
// tests...
});
Umożliwiłoby to ustawienie limitu czasu tylko dla każdego pliku.
Możesz użyć obu metod, jeśli chcesz globalnej wartości domyślnej 5000, ale ustawić coś innego dla niektórych plików.
Pamiętaj, że generalnie nie możesz używać funkcji strzałek, jeśli masz zamiar zadzwonić this.timeout
(lub uzyskać dostęp do dowolnego innego członka zestawu this
Mocha). Na przykład to zwykle nie zadziała :
describe("something", () => {
this.timeout(5000); //will not work
// tests...
});
Dzieje się tak, ponieważ funkcja strzałkowa pobiera this
zakres, w którym występuje funkcja. Mocha wywoła funkcję z dobrą wartością, this
ale ta wartość nie jest przekazywana wewnątrz funkcji strzałkowej. Dokumentacja dla Mocha mówi na ten temat :
Odradza się przekazywanie funkcji strzałkowych („lambd”) do Mocha. Ze względu na leksykalne powiązanie tego, takie funkcje nie są w stanie uzyskać dostępu do kontekstu Mocha.