chai的expect风格如何抛出错误信息?

发布于 2022-09-04 11:02:19 字数 519 浏览 16 评论 0

图片描述

看到官方文档里的expect的链式函数中几乎每一个函数都有一个message参数

    .equal(value)
    @param { Mixed }  value
    @param { String } message _optional_

但是equal里面只接受参数value

message应该如何传递呢?(没有这个参数抛出错误非常不直观)

PS:assert的就很好理解,传个message参数就好了...
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乱世争霸 2022-09-11 11:02:19

chai源码:

chai.expect = function (val, message) {
   return new chai.Assertion(val, message);
};

所以:

it('expect第二个参数提供断言失败提示信息', function() {
    var a = false;
    expect(a, 'a should be true').to.be.true;
})
绻影浮沉 2022-09-11 11:02:19

题主的题目里面其实已经包含了答案了:

.equal(value)
@param { Mixed }  value
@param { String } message _optional_

equal参数里面的第二个参数是可选参数, 是错误的时候抛出的异常信息. 由于JavaScript语言的动态性, 可以像这样编写测试用例:

it('test wrong alert', () => {
  let alwaysFalseVar = false;
  expect(alwaysFalseVar, 'supposed to be true').to.be.true;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文