gpt4 book ai didi

javascript - 使用 Node-jsCoverage 、 Mocha 和 Express 进行功能测试覆盖率报告

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:41 25 4
gpt4 key购买 nike

我想获得快速端点上功能测试的覆盖范围。我已经做了这个简单的设置。

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(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();
});
});
});

Node 测试/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

我正在使用环境变量运行服务器,然后触发测试它会产生一个空的coverage.html。是否可以获得我所要求的承保范围?

最佳答案

我发现为了工作,我必须从测试中直接启动 Express 服务器。我还需要在测试顶部添加一行

var lib = process.env['COV']?'../lib-cov' : '../lib';
//run express
var app = require(lib)

这样当您运行覆盖率测试时,您就可以包含已检测的文件。

关于javascript - 使用 Node-jsCoverage 、 Mocha 和 Express 进行功能测试覆盖率报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23542922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com