node.js模块以可配置的方式比较json

时间:2014-08-18 18:15:40

标签: json node.js testing

我正在为node.js中的REST API编写测试套件。我想知道是否有一个模块可以以可配置的方式进行json比较。

例如:{ "id":"456", "data":"Test_Data", "date":"2014-05-19" }

我需要能够告诉模块,因为它自动生成,所以不检查id是否为null,检查日期不为null并仅检查数据值。

感谢。

2 个答案:

答案 0 :(得分:4)

或者您可以使用expect.js

var expect = require("expect.js");
var data = {"name":"John", "age":32};
data.toString = function(){"String"};

expect(data).not.to.be(undefined);
expect(data.name).to.be("John");
expect(data.toString).to.be.a("function");

答案 1 :(得分:2)

对于您的测试,您可以使用should.js

var should = require('should');
var data = { "id":"456", "data":"Test_Data", "date":"2014-05-19" };

data.should.containEql({ id: "456" })
data.should.have.property("data");
data.should.have.property("data").with.type("string");
data.should.not.have.property("non-existing");
data.data.should.match(/^Test.*$/);
[...]

快乐测试!

编辑:您可以使用代替使用。另外,我与should.js没有关系:)