8

を使用して 2 つのオブジェクトを比較しているときにテストが失敗した場合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 にハードコーディングされています。
次の関数は、オブジェクト フォーマッタ (ソースはこちら) であり、投稿した内容を正確に実行します。

} 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 に答える