javascript – Node.js Mocha测试Restful API端点和代码覆盖率
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Node.js Mocha测试Restful API端点和代码覆盖率,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1504字,纯文字阅读大概需要3分钟。
内容图文
我一直非常喜欢伊斯坦布尔并尝试其他Node.js覆盖库,但我有一个问题.几乎所有的单元测试都是对我的API的HTTP调用,如下所示:
it('should update the customer', function (done) {
superagent.put('http://myapp:3000/api/customer')
.send(updatedData)
.end(function (res) {
var customer = res.body;
expect(res.statusCode).to.equal(200);
expect(customer.name).to.equal(updatedData.name);
done();
});
});
而不是实际需要customers.js文件并直接调用updateCustomer.测试端点对我来说更有意义,因为它不仅测试updateCustomer,还测试路由,控制器和其他所有相关内容.
这很好,但问题是我似乎无法找到任何代码覆盖工具识别这些测试的方法.有没有办法让伊斯坦布尔或其他任何东西认识到这些摩卡测试?如果没有,那么惯例是什么?您如何测试端点并仍然使用代码覆盖工具?
解决方法:
问题是你使用superagent,而你应该使用supertest来编写单元测试.如果您使用supertest,istanbul将正确跟踪代码覆盖率.
一些示例代码可以帮助您入门:
'use strict';
var chai = require('chai').use(require('chai-as-promised'));
var expect = chai.expect;
var config = require('../../config/config');
var request = require('supertest');
var app = require('../../config/express')();
describe('Test API', function () {
describe('test()', function() {
it('should test', function(done) {
request(app)
.get('/test')
.query({test: 123})
.expect('Content-Type', /json/)
.expect(200)
.end(function(err, res){
expect(err).to.equal(null);
expect(res.body).to.equal('whatever');
done();
});
});
it('should return 400', function(done) {
request(app)
.get('/test/error')
.query({})
.expect('Content-Type', /json/)
.expect(400, done);
});
});
});
内容总结
以上是互联网集市为您收集整理的javascript – Node.js Mocha测试Restful API端点和代码覆盖率全部内容,希望文章能够帮你解决javascript – Node.js Mocha测试Restful API端点和代码覆盖率所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。