Por padrão, o Mocha lerá um arquivo chamado test/mocha.opts
que 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 describe
chamada 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 this
que 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 this
o escopo em que a função aparece. O Mocha chamará a função com um bom valor, this
mas 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.