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

零崎莲实
  • 683

图片描述

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

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

但是equal里面只接受参数value

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

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

回复
阅读 5k
2 个回答

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;
})

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

.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;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏