使用json模式的mocha全覆盖测试
mocha full coverage test using json schema
我已经为get请求编写了一个测试,但希望获得该测试的"完全覆盖"。基本上,我想使用类似于JSONSchema的东西来验证JSON返回是否符合我的期望。
到目前为止,我的代码如下:
var winston = require('winston');
//var chai = require('chai');
var request = require('supertest-as-promised');
var testUtils = require('./utils/test_utils');
var API_ROOT = 'http://localhost:8000/mywebsite';
var agent = request(API_ROOT);
describe('/my-profile/', function(){
describe('GET', function() {
var url = '/my-profile/';
it('should return valid payload', function(done) {
agent.
get(url).
set('Content-Type', 'application/json').
expect('Content-Type', /json/).
expect(200).
// then(testUtils.logResponse).
then(function(res) {
done();
}).catch(function(err) {
// winston.log(res).then(done);
done(err);
});
});
});
});
如何使用json模式进行验证。有样品链接吗?议论密码
您可以尝试使用Chai-json模式插件。让我们做出如下断言:
expect(goodApple).to.be.jsonSchema(fruitSchema);
expect(badApple).to.not.be.jsonSchema(fruitSchema)
有关详细信息,请访问网站。
如果你说你想使用"类似"json模式来验证返回的json,那么Chai断言非常适合这项任务。
只需使用属性链测试属性的存在,或者使用instanceof chain检查它们的类型是否正确。如果您确切地知道给定测试用例的api应该返回什么,那么构造一个匹配的对象并将其与深度链进行比较。
相关文章:
- 如何在Mocha/Chai中测试JS原型(非模块)
- 当我尝试运行mocha测试时,没有定义Worker
- Mocha js测试字符串不相等时不显示diff
- 我们能在&在块到mocha的特定测试用例(it)之后
- 如何使用console.log语句在Mocha中测试函数
- Mocha/Chai测试链接到函数返回断言错误
- 如何按照承诺使用mocha/chai/chai测试ES7异步函数
- Mocking console.log()/MOCHA测试框架中的任何其他函数
- 用mocha测试异步函数
- Mocha测试框架的test.describe返回值
- 使用节点调试器调试ES6 Mocha测试
- 如何用mocha和rewire模拟node.js单元测试中的Q方法
- Mocha测试套件因未捕获的异常而暂停
- 如何在JavaScript中使用Mocha和assert.throws测试参数的值
- Node.js+Mocha+Should.js如何测试事件发射器抛出的错误
- Javascript Mocha测试-测试函数表达式中的函数表达式
- Mocha网络套接字测试https服务器
- 使用json模式的mocha全覆盖测试
- 用Blanket测试Mocha的覆盖率;不起作用
- 功能测试覆盖报告,包括node-jscoverage, mocha和express