Javascript 柴为什么扔不被抓住?
Javascript chai why throw not caught?
我正在 Windows 10 上使用 mocha
和 chai
测试 Nodejs 服务器。
如果键不存在,一个访问数据库的函数将抛出。为什么把它放在 expect
下这样:
expect(db.getReferenceData("not-existent")).to.throw();
失败?相反,将它放在另一个函数中有效:
expect(function() {
db.getReferenceData("not-existent");
}).to.throw();
文档中的示例似乎暗示第一次调用是正确的,至少对我而言。
感谢您的帮助!
马里奥
在您的第一个示例中,在调用 expect()
之前抛出异常。您需要推迟 db.getReferenceData
的执行,以允许 expect
捕获异常。
我正在 Windows 10 上使用 mocha
和 chai
测试 Nodejs 服务器。
如果键不存在,一个访问数据库的函数将抛出。为什么把它放在 expect
下这样:
expect(db.getReferenceData("not-existent")).to.throw();
失败?相反,将它放在另一个函数中有效:
expect(function() {
db.getReferenceData("not-existent");
}).to.throw();
文档中的示例似乎暗示第一次调用是正确的,至少对我而言。
感谢您的帮助! 马里奥
在您的第一个示例中,在调用 expect()
之前抛出异常。您需要推迟 db.getReferenceData
的执行,以允许 expect
捕获异常。