Что эквивалентно assert.rejects в TypeScript? - PullRequest
0 голосов
/ 06 марта 2019

В узле js мы используем assert.rejects для подтверждения ошибки, вызванной асинхронной функцией. Я обнаружил, что метод rejects отсутствует в TypeScript, как исправить асинхронные ошибки в TypeScript?

Ответы [ 2 ]

1 голос
/ 06 марта 2019

Я думаю, что использование этой функции решит вашу проблему:

import * as assert from 'assert';
async function assertThrowsAsync(fn, regExp) {
    let f = () => {};
    try {
        await fn();
    } catch(e) {
        f = () => {throw e};
    } finally {
        assert.throws(f, regExp);
    }
}

И используйте его в своих тестах:

await assertThrowsAsync(async () => async_function_call_here(), /Error/);
0 голосов
/ 06 марта 2019

Ни JavaScript, ни TypeScript не предлагают свои собственные функции assert.Если вы ищете «JavaScript assert» или аналогичный (помните, что TypeScript - это JavaScript плюс статические типы и одна или две другие мелкие вещи), вы найдете различные библиотеки для этого.

...