我正在尝试使用mocha将单元测试添加到我的nodejs应用程序中。
我创建了一个虚拟测试端点'/test'
,该端点返回一个字符串,如下所示:
测试端点:
app.get(routeHelper.getURLPath('/test'), (req, res, next) => {
res.send('Helloo from test route !!');
next();
});
sample.test.js:
process.env.NODE_ENV = 'test';
let supertest = require("supertest");
let should = require("should");
let server = supertest.agent("http://localhost:9000");
describe('Routes', () => {
it('sample test', (done) => {
server
.get("/test")
.expect(200)
.end(function(err,res){
// console.log('***************Ressssssss******* ', res.body);
console.log('***************errrrrrrrrrrrrrr******* ', err);
res.status.should.equal(200);
res.body.error.should.equal(false);
done();
});
});
});
运行测试时,它会抛出如下所示的错误:
{ Error: socket hang up
at createHangUpError (_http_client.js:322:15)
at Socket.socketOnEnd (_http_client.js:425:23)
at Socket.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1094:12)
at process._tickCallback (internal/process/next_tick.js:63:19) code: 'ECONNRESET', response: undefined }
直接从浏览器访问API可以正确给出响应。但是,运行测试时会抛出此错误。
任何解决此问题的帮助都将非常有帮助。