Per impostazione predefinita, Mocha leggerà un file denominato test/mocha.opts
che 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 describe
chiamata 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 this
quel 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 this
dall'ambito in cui appare la funzione. Mocha chiamerà la funzione con un buon valore per this
ma 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.