【发布时间】:2018-12-18 15:27:23
【问题描述】:
我正在尝试进行 BDD 测试来覆盖我的代码,但我收到了这个错误: 我正在尝试进行 BDD 测试以覆盖我的代码,但出现此错误: 我正在尝试进行 BDD 测试以覆盖我的代码,但出现此错误: 我正在尝试进行 BDD 测试以覆盖我的代码,但出现此错误: 我正在尝试进行 BDD 测试以覆盖我的代码,但出现此错误: app.js
"use strict";
var app = require("express")();
var pg = require("pg");
var http = require("http");
var https = require("https");
require("./config/config");
var server;
swaggerTools.initializeMiddleware(swaggerConfig, function (middleware) {
// Interpret Swagger resources and attach metadata to request - must be first in swagger-tools middleware chain
app.use(middleware.swaggerMetadata());
var sayHello = ( type ) => {
return ( ) => {
console.log( `${global.gConfig.app.name} (${global.gConfig.app.desc}) listening for ${type.toUpperCase()} connections on port ${global.gConfig.ports[type]}`);
}
}
if( global.gConfig.ports.http ) {
http.createServer(app).listen( global.gConfig.ports.http, sayHello('http') );
server=app.listen(global.gConfig.ports.http);
}
if( global.gConfig.ports.https ) {
server=app.listen(global.gConfig.ports.https);
}
});
module.exports = {
serve:server,
app:app
};
test.js
let chai = require('chai');
let expect = require('chai').expect;
let chaiHttp = require('chai-http');
var app=require('../').app;
var server=require('../').server;
let should = require('chai').should;
var request = require("supertest").agent(server);
chai.use(chaiHttp);
describe('Caracteristiques', () => {
after(function (done) {
server.close();
done();
});
it('returns an array of Carateristiques', (done) => {
//chai.request(server)
request
.get('caracteristiques')
.set('Authorization', 'Bearer token')
.end((err, res) => {
console.log("res :",res);
expect(res.status).to.equal(200);
done();
});
});
})
错误:
1) Uncaught error outside test suite:
Uncaught Error: listen EADDRINUSE :::3001
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at Server.setupListenHandle [as _listen2] (net.js:1355:14)
at listenInCluster (net.js:1396:12)
at Server.listen (net.js:1480:7)
at Function.listen (node_modules\express\lib\application.js:618:24)
at C:\Users\zya\Documents\Tdbc-api\tdbc-api\app.js:75:17
at C:\Users\zya\Documents\Tdbc-api\tdbc-api\node_modules\swagger-tools\index.js:85:7
at cbWrapper (node_modules\swagger-tools\lib\specs.js:1023:5)
at validateSwagger2_0 (node_modules\swagger-tools\lib\specs.js:1018:3)
at validateSemantically (node_modules\swagger-tools\lib\specs.js:1028:5)
at C:\Users\zya\Documents\Tdbc-api\tdbc-api\node_modules\swagger-tools\lib\specs.js:1221:7
at C:\Users\zya\Documents\Tdbc-api\tdbc-api\node_modules\swagger-tools\lib\specs.js:1061:29
at C:\Users\zya\Documents\Tdbc-api\tdbc-api\node_modules\swagger-tools\lib\specs.js:707:12
at C:\Users\zya\Documents\Tdbc-api\tdbc-api\node_modules\swagger-tools\lib\specs.js:683:9
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
at startup (bootstrap_node.js:191:16)
at bootstrap_node.js:612:3
2) Caracteristiques
returns an array of Carateristiques:
TypeError: Cannot read property 'address' of undefined
at Test.serverAddress (node_modules\supertest\lib\test.js:55:18)
at new Test (node_modules\supertest\lib\test.js:36:12)
at TestAgent.(anonymous function) [as get] (node_modules\supertest\lib\agent.js:52:15)
at Context.it (test\caracteristiques.js:31:14)
3) Caracteristiques
"after all" hook:
TypeError: Cannot read property 'close' of undefined
at Context.<anonymous> (test\caracteristiques.js:23:16)
我觉得设置id不错,有大神帮忙吗?
【问题讨论】:
-
3001端口只能使用一次。您需要更新配置以使用不同的端口。
-
有两个端口,3001和3000用于开发环境我使用3001
-
嗯,有些东西正在使用端口 3001。
-
这是问题所在,因为服务器和测试使用的是同一个端口
-
试试这个answer 停止摩卡咖啡。
标签: node.js mocha.js tdd bdd chai