JavaScript chai为什么不扔?

问题描述 投票:0回答:1

我正在Windows 10上使用mochachai测试Nodejs服务器。如果密钥不存在,则会抛出一个访问数据库的函数。为什么要像这样将其放在expect下:

expect(db.getReferenceData("not-existent")).to.throw();

失败?相反,将其放在另一个函数中是可行的:

expect(function() {
    db.getReferenceData("not-existent");
}).to.throw();

文档中的示例似乎暗示,至少对我而言,第一次呼叫是正确的。

感谢您的帮助!马里奥

javascript testing mocha chai
1个回答
0
投票

在您的第一个示例中,在调用expect()之前引发了异常。您需要推迟执行db.getReferenceData,以允许expect捕获异常。

© www.soinside.com 2019 - 2024. All rights reserved.