node.js - chai.assert.isRejected 消息验证器不起作用

标签 node.js mocha.js chai chai-as-promised

我正在尝试编写以下测试:

return chai.assert.isRejected(quote.validate(), 'Amount is not valid number');

运行此测试时,它是成功的,但在对其进行捏造以确保它因以下内容而失败时,它仍然通过:

return chai.assert.isRejected(quote.validate(), '123Amount is not valid number');

我还尝试了以下方法:

return chai.assert.isRejected(quote.validate(), new Error('Amount is not valid number'));

但似乎失败了:

AssertionError: expected promise to be rejected with [Error: Amount is not valid number] but it was rejected with [Error: Amount is not valid number]

我有理由相信它失败了,因为它们引用了不同的错误实例,但不是 100% 确定。

理想情况下,我希望能够确保返回正确的错误/消息,但我似乎无法弄清楚并正在寻求一些帮助。

** 注意我也在使用 chai-as-promised

最佳答案

也许尝试使用expect而不是assert?我在尝试使用断言时遇到了同样的问题。

expect(promise).to.be.rejectedWith('错误消息。').and.notify(done)

关于node.js - chai.assert.isRejected 消息验证器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27410487/

相关文章:

javascript - Node JS 如何将字符串转换为对象

javascript - 如何防止我的结果在 Mocha Junit 中被覆盖

node.js - 如何修复请求错误: Error: connect ETIMEDOUT while running Mocha JS/NodeJS test from behind proxy

javascript - 如何在 Mocha 中执行测试之前强制 before() 完成?

javascript - 如何测试在 componentDidMount 中设置 React Component 状态的异步调用

javascript - EJ 到 HTML、nodejs、webpack

node.js - Mongoose 不返回自定义 ID

javascript - npm install --saveexpress@4.10.2 是什么意思以及如何使用它?

javascript - 如何在 mocha 测试中使用 Node.js 全局变量

javascript - 断言失败后的 Mocha 流控