如何断言/单元测试服务器JSON响应?

sha*_*moh 7 javascript jquery integration-testing json unit-testing

我当前的项目使用JSON作为数据交换格式.在开始集成服务之前,前端和后端团队都同意JSON结构.有时由于后端团队未通知JSON结构的变化; 它打破了前端代码.

是否有任何外部库可用于比较模拟JSON(夹具)与服务器JSON响应.基本上它应该断言整个JSON对象,并且如果服务器JSON格式中存在任何违规,则应该抛出错误.

附加信息:App基于JQuery消费REST JSON服务.

Pau*_*jan 6

我会为您的JSON对象推荐一个架构.

我使用Kwalify,但如果你更喜欢这种语法,你也可以使用Rx.

  • 不要混合那些东西.使用模式确保您都了解数据协定.在后端使用夹具进行单元测试.混合它们会让你更新太多东西,并会让你的生活变得复杂. (2认同)

Wil*_*iam 5

我最近一直在使用QUnit:http://docs.jquery.com/QUnit来获取我的很多JS代码.

asyncTest http://docs.jquery.com/QUnit/asyncTest可以非常有效地用于测试JSON结构.

例:


asyncTest("Test JSON API 1", 1, function() {
    $.getJSON("http://test.com/json", function(data) {
        equals(data.expected, "what you expected", "Found it");
    });
});
Run Code Online (Sandbox Code Playgroud)