Как написать тест на выявление ошибки в асинхронной функции?
Этот вариант не работает:
assert.throw(async function() {
await new Application().load('not-exists/path/to/app');
});
Пока придумал лишь такой вариант:
try {
await new Application().load('not-exists/path/to/app');
} catch (e) {
assert.throw(function() {
throw e;
});
}
Есть вариант более элегантный?
UPD:
Что конкретно я хочу сделать в данном тесте:
Я на вход
load() подаю заведомо неверный путь
not-exists/path/to/app.
И мне нужно убедиться, что генерируется исключение.
Также я хочу воспользоваться именно assert.throw().
UPD:
Дело в том, что assert.throw() не позволяет тестировать асинхронные функции. И поэтому пришлось городить через try {} catch. Это странно видеть, потому что в mocha поддержка async/await имеется. Почему ее нет в chai? Или есть, то где она?