1

promise から返された json のテストを作成しようとしています。この簡単なコードを作成したので、再現してみてください。

"use strict";
var chai = require("chai");
chai.should();
var chaiAsPromised = require("chai-as-promised");
var chaiJsonEqual = require('chai-json-equal');
chai.use(chaiAsPromised);
chai.use(chaiJsonEqual);
var expect = chai.expect;

describe('should', function() {

  it('return true because its the same json object', function() {
    var json = {  "foo": "bar" };
    return expect(Promise.resolve(json)).to.eventually.jsonEqual(json);
  });

});

しかし、私は得る:

  1) should return true because its the same json object:
     AssertionError: expected {} to have the same json representation as { foo: 'bar' }

chai-as-promised と chai-json-equal は別々に機能しますが、一緒には機能しません。この解決策、回避策、または使用できる他のライブラリはありますか?

4

1 に答える 1

1

chai-json-equal は 1 年間更新されていないため、誰も問題に応答しないと思います。

特に簡単な解決策がある場合。

それ以外の:

return expect(Promise.resolve(json)).to.eventually.jsonEqual(json);

書きます:

return expect(Promise.resolve(json)).to.eventually.deep.equal(json);

テストはパスします。

于 2016-10-13T01:24:06.870 に答える