Por padrão, o Mocha lerá um arquivo chamado test/mocha.optsque pode conter argumentos de linha de comando. Então você pode criar um arquivo que contenha:
--timeout 5000
Sempre que você executar o Mocha na linha de comando, ele lerá esse arquivo e definirá um tempo limite de 5 segundos por padrão.
Outra maneira que pode ser melhor, dependendo da sua situação, é configurá-la dessa maneira em uma describechamada de nível superior no seu arquivo de teste:
describe("something", function () {
this.timeout(5000);
// tests...
});
Isso permitiria definir um tempo limite somente por arquivo.
Você pode usar os dois métodos se desejar um padrão global de 5000, mas definir algo diferente para alguns arquivos.
Observe que você geralmente não pode usar uma função de seta se quiser ligar this.timeout(ou acessar qualquer outro membro thisque o Mocha defina para você). Por exemplo, isso geralmente não funciona :
describe("something", () => {
this.timeout(5000); //will not work
// tests...
});
Isso ocorre porque uma função de seta assume thiso escopo em que a função aparece. O Mocha chamará a função com um bom valor, thismas esse valor não será passado dentro da função de seta. A documentação para o Mocha diz sobre este tópico :
Passar as funções de flechas (“lambdas”) para o Mocha é desencorajado. Devido à ligação lexical disso, essas funções não conseguem acessar o contexto Mocha.