如何用chai断言从promise返回的json
how to assert json returned from promise with chai?
我正试图为从承诺返回的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-promise和chai-json-equal分别起作用,但不能一起起作用。你们有解决这个问题的方法吗,变通的方法或者其他我可以使用的库?
chai-json-equal已经一年没有更新了,所以我怀疑有人会回应这个问题。
特别是当有更简单的解决方案时。
代替:
return expect(Promise.resolve(json)).to.eventually.jsonEqual(json);
写:
return expect(Promise.resolve(json)).to.eventually.deep.equal(json);
测试通过。
相关文章:
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 返回JSON中的下标
- jQuery Map 从多个源返回 JSON 对象
- 如何在 Node.js 中返回 JSON 后停止代码流
- AngularJS:表单提交没有返回JSON中的值
- 使用ajax发送数据,返回json
- 从我的解析函数返回json
- 如何从脚本页面返回json数据
- 有些人有任何关于如何使用Modified Java Script Value处理返回Json(url)的示例
- 如何在html页面中从ajax返回json数据
- Ajax调用在本地返回json,但在服务器上运行时返回xml
- ajax调用返回JSON ParseError即使认为JSON看起来是正确的
- 调用.ajax方法得到未定义的json结果,返回json格式列表<字符串>
- 如何通过C#返回JSON并用JavaScript进行解析
- 使用 AJAX 返回 json 数组
- 从 AJAX 命令返回 JSON 格式的响应
- 如何通过node中的请求返回JSON.js(从javascript)
- Node.js API 在终端中返回 JSON,但不在浏览器中返回 JSON
- 如何在支柱 2 中返回 JSON 数组
- Rhino:从 Java 中返回 JSON