测试摩卡咖啡中抛出的错误[重复]

这个问题在这里已经有答案了
Mocha/Chai expect.to.throw未捕获抛出错误

(7个答案)

四年前关闭的

我希望能在这个问题上找到一些帮助。我正在尝试为我正在编写的应用程序编写测试。我已将问题提炼为以下示例代码。我想测试是否抛出了错误。我使用TestCular作为测试运行程序,mocha作为框架,chai作为断言库。测试运行,但测试失败,因为抛出了错误!非常感谢您的帮助

函数iThrowError(){
抛出新错误(“抛出错误”);
}
var assert=chai.assert,
expect=chai.expect;
描述('应用程序',函数()){
描述('此功能',函数(){
它(“是一个函数”,函数(){
throw(iThrowError(),Error,“Error-throw”);
});
});
});

您没有以正确的方式将函数传递给assert.throws()

assert.throws()函数需要一个函数作为其第一个参数。在代码中,当调用assert.throws()时,调用iThrowError并传递其返回值

基本上,改变这一点:

assert.throws(iThrowError(),Error,Error,Error-thrown);

为此:

assert.throws(iThrowError,Error,Error,Error-thrown);

应该能解决你的问题

使用args:

assert.throws(()=>{iThrowError(args)},错误);

assert.throws(函数(){iThrowError(args)},Error,/Error-thrown/);

发表评论