在chai.expect错误中格式化对象

时间:2013-10-17 10:55:43

标签: mocha chai

如果测试失败,我使用expect(x).to.deep.equal(y)比较两个对象,我希望在浏览器测试报告中看到实际值。相反,我看到这样的事情:

AssertionError: expected { Object (x, y, ...) } to deeply equal { Object (x, y, ...) }

所以它并没有真正显示任何有用的东西。

有没有办法自定义chai.js如何格式化这些对象?

2 个答案:

答案 0 :(得分:5)

您现在可以按照the docs

配置对象被截断之前的最大长度
chai.config.truncateThreshold = 0; // disable truncating

答案 1 :(得分:0)

不是真的。这是硬编码到柴 以下函数是它们的对象格式化程序(源here),它完全按照您发布的内容执行:

} else if (type === '[object Object]') {
  var keys = Object.keys(obj)
    , kstr = keys.length > 2
      ? keys.splice(0, 2).join(', ') + ', ...'
      : keys.join(', ');
  return '{ Object (' + kstr + ') }';