【发布时间】:2021-08-24 16:48:11
【问题描述】:
我想测试一个 axios 后调用,如果服务器未运行,该调用应该以“ECONNREFUSED”拒绝。
const promise= axios.post("/path/under/test", {"some":"data"});
await expect(promise).rejects.toThrowError("ECONNREFUSED");
不幸的是,该错误在测试中包含一个非常通用的“网络错误”消息。我可以在控制台输出中看到预期代码“ECONNREFUSED”的“某处”是根错误的一部分。但是如何获取错误码呢?
这就是“stringyfied”错误的样子:
{"message":"Network Error","name":"Error","stack":"[...]"
【问题讨论】:
-
toThrowError应该在错误消息包含子字符串时匹配。因此,如果ECONNREFUSED在某个地方,错误应该会通过。也尝试使用RegEx:toThrowError(/ECONNREFUSED/); -
问题是错误信息中没有包含错误代码。
标签: node.js axios jestjs ts-jest