Per impostazione predefinita, Mocha leggerà un file denominato test/mocha.optsche può contenere argomenti della riga di comando. Quindi potresti creare un tale file che contiene:
--timeout 5000
Ogni volta che esegui Mocha dalla riga di comando, leggerà questo file e imposterà un timeout di 5 secondi per impostazione predefinita.
Un altro modo che può essere migliore a seconda della situazione è impostarlo in questo modo in una describechiamata di livello superiore nel file di test:
describe("something", function () {
this.timeout(5000);
// tests...
});
Ciò consentirebbe di impostare un timeout solo in base al file.
È possibile utilizzare entrambi i metodi se si desidera un valore predefinito globale di 5000 ma impostare qualcosa di diverso per alcuni file.
Nota che non puoi generalmente usare una funzione freccia se stai per chiamare this.timeout(o accedere a qualsiasi altro membro di thisquel Mocha impostato per te). Ad esempio, questo di solito non funziona :
describe("something", () => {
this.timeout(5000); //will not work
// tests...
});
Questo perché una funzione freccia prende thisdall'ambito in cui appare la funzione. Mocha chiamerà la funzione con un buon valore per thisma quel valore non viene passato all'interno della funzione freccia. La documentazione per Mocha dice su questo argomento :
Il passaggio delle funzioni freccia ("lambda") a Moka è scoraggiato. A causa del legame lessicale di questo, tali funzioni non sono in grado di accedere al contesto Mocha.