gpt4 book ai didi

javascript - 使用 should.js 和 Mocha 检查 throw new 错误

转载 作者:搜寻专家 更新时间:2023-11-01 00:17:38 29 4
gpt4 key购买 nike

我有一个像这样抛出的错误:

if (somethingBadHappened) {
throw new Error('what were you thinking, batman?')
}

现在我想编写一个测试来检查它是否按预期抛出:

should(MyClass.methodThatShouldThrow()).throws('what were you thinking, batman?')

但这实际上会引发错误。我究竟做错了什么? Should.js 文档非常简洁,因为它继承自 assert.throws,但即使是它的文档也不能以“should.js”方式工作?

最佳答案

正如您所发现的,您的代码执行了抛出错误的函数并且 should 没有机会捕获它。

要允许正确断言,您需要将函数调用包装在匿名函数中。

should(function ()  {MyClass.methodThatShouldThrow();} ).throw('what were you thinking, batman?')

关于javascript - 使用 should.js 和 Mocha 检查 throw new 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33835127/

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