什么相当于TypeScript中的assert.rejects?

问题描述 投票:0回答:2

在节点js中,我们使用assert.rejects来断言由异步函数引起的错误。我发现TypeScript中缺少rejects方法,如何在TypeScript中断言异步错误?

node.js typescript assert
2个回答
1
投票

我认为使用此功能将解决您的问题:

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
投票

JavaScript和TypeScript都没有提供自己的assert功能。如果你搜索“JavaScript assert”或类似的东西(记住TypeScript是JavaScript加静态类型和一两个其他小东西),你会发现可以选择的各种库。

© www.soinside.com 2019 - 2024. All rights reserved.