{ const err = new Error('job not valid') e-6ren">
gpt4 book ai didi

node.js - Jest 提示错误……我告诉 Jest 要期待

转载 作者:太空宇宙 更新时间:2023-11-03 23:12:33 25 4
gpt4 key购买 nike

我正在编写一个 Jest 测试,预计会抛出错误:

it("safeGithubPush()", () => {
const err = new Error('job not valid')
expect(productionDeployJob.safeGithubProdPush(unsafeJob)).toThrow(err);
});

抛出错误。然而,它并没有 Jest 通过这个测试,而是说它失败了,并指出了我的程序中创建此错误的位置

FAIL  tests/unit/productionDeploy.test.js
● ProductionDeploy Test Class › safeGithubPush()

job not valid

8 | const uploadToS3Timeout = 20;
9 |
> 10 | const invalidJobDef = new Error("job not valid");

当我告诉它期待同样的错误时,为什么它会提示抛出错误?

最佳答案

您正在就地调用 safeGithubProdPush 方法。

为了让 Jest 捕获方法抛出的错误,您应该给 expect 一个包装调用的函数:

expect(() => productionDeployJob.safeGithubProdPush(unsafeJob)).toThrow(err);

如文档中所示:

Note: You must wrap the code in a function, otherwise the error will not be caught and the assertion will fail.

https://jestjs.io/docs/en/expect#tothrowerror

关于node.js - Jest 提示错误……我告诉 Jest 要期待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59650124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com