Ответ 1
По умолчанию 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
из области, в которой эта функция появляется. Mocha вызовет функцию с хорошим значением для this
но это значение не передается внутри функции со стрелкой. Документация для Мокко говорит на эту тему:
Передача функций стрелки ("лямбда-выражения") в Мокко не рекомендуется. Из-за лексического связывания этого такие функции не могут получить доступ к контексту Mocha.