У меня есть асинхронный код перед тестами: инициирование соединения с базой данных и т. Д., Которые я НЕ хочу переместить внутрь каждого теста. Для этого я должен установить --delay
param в mocha.opts и запустить функцию run()
, когда тест будет готов к запуску. Ну, в настоящее время это выглядит так:
async myTest() {
await prepare1();
await prepare2();
describe('1', async () => {
it('11', async () => {
await something();
});
});
run();
}
myTest();
Как мне пройти тест с мокко, когда оператор prepare2()
не выполнен?
Мои попытки:
0) Просто выполнение функции дает UnhandledPromiseRejectionWarning:
myTest();
1) тест не запускается вообще и существует с 0;
it('init', async () => {
await myTest();
});
2) это говорит UnhandledPromiseRejectionWarning:
myTest().catch(e => {throw e});
3) с chai-as-promised
: AssertionError: Promise should be fulfilled
, UnhandledPromiseRejectionWarning:
assert.isFulfilled(myTest(), "Promise should be fulfilled");
4) Единственное, что приходит на ум, это ниже. Кажется, это не очень хорошо смотрится с чай:
myTest().catch(e => {
console.error(e);
process.exit(1);
});