За замовчуванням 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 говорить на цю тему :
Передача стрілочних функцій ("лямбда") на Мочу не перешкоджає. Через лексичне зв’язування цього такі функції не мають доступу до контексту Мока.