8

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

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

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

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

4

2 回答 2

6

您现在可以根据文档在对象被截断之前配置最大长度:

chai.config.truncateThreshold = 0; // disable truncating
于 2014-04-30T01:16:08.283 回答
0

并不真地。这是硬编码到 Chai 中的。
以下函数是他们的对象格式化程序(来源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 + ') }';
于 2013-10-22T13:27:10.803 回答