Я использую before
ловушку с блоком try catch
для вызова некоторых функций внутри моего блока try. Таким образом, блок before
запускается перед каждым it
.
describe('Function response', ()=> {
// this.timeout(5000); //here
let response;
before(async () => {
// this.timeout(500000); //or here
try {
response = await myFunction(argument);
} catch (err) {
assert.fail(err);//seems doesn't work
}
});
it('function response to be an array', () => {
expect(response).to.be.an('array');
});
});
Я получаю эту ошибку
Ошибка: превышено время ожидания 2000 мс. Для асинхронных тестов и хуков убедитесь, что вызывается «done ()»; если вы возвращаете обещание, убедитесь, что оно разрешено.
После открытия одного из комментариев, которые изменяют время ожидания по умолчанию после того, как, конечно, установили функции стрелок на обычные, тест работает должным образом.
Я хотел бы знать, что является лучшей практикой. Может быть, лучше изменить время ожидания по умолчанию в скрипте test
?
"test": "mocha -r ts-node/register src/**/*.spec.ts --timeout 5000
Также, возможно, я неправильно обрабатываю ошибку в блоке catch
?