Тест «Броски» не проходит, если обещание отклонено

1

У меня есть эта функция

export async function trivialAsyncFail() {
    return new Promise((resolve,reject) => {
        reject("This is supposed to happen");
    });
}

И у меня есть следующий тест, чтобы проверить его:

test("Async fail", async (t) => {
    const failedPromise = trivialAsyncFail();
    t.throws(failedPromise);
    await failedPromise;
});

Однако мой тест не с сообщением:

Асинхронный сбой

Отклонено обещание, возвращенное тестированием

Причина отказа:

"This is supposed to happen"

Я не уверен, что я неправильно понял, как должен работать t.throws. Я предположил, что если вы ожидаете, что обещание будет отклонено, и оно будет отклонено, тест должен быть успешным.

Использование ava 0.19

Теги:
ava

1 ответ

5
Лучший ответ

Согласно документации:

При тестировании обещания вы должны дождаться завершения этого утверждения:

test('rejects', async t => {
  await t.throws(promise);
});

Так что await t.throws(failedPromise) вместо await failedPromise

Ещё вопросы

Сообщество Overcoder
Наверх
Меню