По умолчанию Mocha читает файл с именем, test/mocha.opts
который может содержать аргументы командной строки. Таким образом, вы можете создать такой файл, который содержит:
--timeout 5000
Всякий раз, когда вы запускаете Mocha в командной строке, он будет читать этот файл и устанавливать время ожидания по умолчанию 5 секунд.
Другой способ, который может быть лучше в зависимости от вашей ситуации, - установить его следующим образом в describe
вызове верхнего уровня в вашем тестовом файле:
describe("something", function () {
this.timeout(5000);
// tests...
});
Это позволит вам установить тайм-аут только для каждого файла.
Вы можете использовать оба метода, если вы хотите установить глобальное значение по умолчанию 5000, но установить для некоторых файлов что-то другое.
Обратите внимание, что вы, как правило, не можете использовать функцию стрелки, если вы собираетесь вызывать this.timeout
(или получить доступ к любому другому члену, this
который установлен для вас Mocha). Например, это обычно не будет работать :
describe("something", () => {
this.timeout(5000); //will not work
// tests...
});
Это связано с тем, что функция this
со стрелкой берется из области, в которой эта функция появляется. Мокко будет вызывать функцию с хорошим значением, this
но это значение не передается в функцию со стрелкой. Документация для Мокко говорит на эту тему :
Передавать функции стрелки («лямбды») Мокко не рекомендуется. Из-за лексического связывания этого, такие функции не могут получить доступ к контексту Mocha.