Javascript 功能测试覆盖率报告,包括节点jscoverage、mocha和express
我想获得express端点上功能测试的覆盖率。 我已经做了这个简单的设置 nodetest/index.jsJavascript 功能测试覆盖率报告,包括节点jscoverage、mocha和express,javascript,node.js,express,code-coverage,mocha.js,Javascript,Node.js,Express,Code Coverage,Mocha.js,我想获得express端点上功能测试的覆盖率。 我已经做了这个简单的设置 nodetest/index.js module.exports = process.env.APP_COV ? require('./lib-cov') : require('./lib'); nodetest/lib/index.js var express = require('express'); var app = express(); app.get('/hello.txt', function(re
module.exports = process.env.APP_COV
? require('./lib-cov')
: require('./lib');
nodetest/lib/index.js
var express = require('express');
var app = express();
app.get('/hello.txt', function(req, res){
res.send('Hello World');
});
var server = app.listen(3000, function() {
console.log('Listening on port %d', server.address().port);
});
nodetest/test/simple.js
var request = require('supertest');
describe("Node Test Service",function(){
it('Should return 200 OK trying to login', function (done) {
request("http://localhost:3000")
.get('/hello.txt')
.expect(200)
.end(function (err, res) {
if(err)
throw err;
done();
});
});
});
nodetest/Makefile
all: test test-cov
test:
@./node_modules/.bin/mocha -R xunit > reporter.xml
test-cov: lib-cov
@APP_COV=1 ./node_modules/.bin/mocha -R html-cov > coverage.html
lib-cov:
@./node-jscoverage/jscoverage lib lib-cov
node-jscoverage:
@git clone git://github.com/visionmedia/node-jscoverage.git
@cd node-jscoverage/ && ./configure && make
.PHONY: test
我运行服务器时启用了env变量,然后启动测试
它将生成一个空的coverage.html。
有可能得到我想要的覆盖范围吗?我发现为了工作,我必须从测试开始就启动express服务器。 我还需要在测试的顶部添加一行
var lib = process.env['COV']?'../lib-cov' : '../lib';
//run express
var app = require(lib)
因此,当您运行覆盖率测试时,您将包括插入指令的文件