尝试进行npm测试时,出现了此错误,但是我似乎无法修复该错误。几天来一直试图将我的头缠在mochajs和node.js上,但我似乎都无法使用travis ci来解决问题,]]
终端显示错误:
1) "before all" hook in "{root}" 2) "after all" hook in "{root}" 0 passing (3ms) 2 failing 1) "before all" hook in "{root}": TypeError: app.listen is not a function at Context.<anonymous> (test/test.js:10:16) at processImmediate (internal/timers.js:456:21) 2) "after all" hook in "{root}": ReferenceError: server is not defined at Object.stop (app.js:64:5) at Context.<anonymous> (test/test.js:37:21) at processImmediate (internal/timers.js:456:21) npm ERR! Test failed. See above for more details.
这是test.js文件
const assert = require('chai').assert; const app = require('../app'); var server; //Results serverTestResult = app.serverTest(); dbTestResult = app.dbTest(); before(function(){ server = app.listen(3000); }); describe('App', function(){ describe('serverTest()', function(done){ it('sayHello should return server', function(){ assert.equal(serverTestResult, 'running'); }); it('serverTest should return type string', function(){ assert.typeOf(serverTestResult, 'string'); }); }); describe('dbTest()', function(done){ it('sayHello should return server', function(){ assert.equal(dbTestResult, 'connected'); }); it('dbTest should return type string', function(){ assert.typeOf(dbTestResult, 'string'); done }); }); }); after(async () => { require('../app').stop(); });
这是app.js文件中的一些代码段
module.exports = {
serverTest: function() {
return app.get("port");
},
dbTest: function() {
return 'connected';
},
stop: function() {
server.close();
}
}
//routes
app.use("/", require("./routes/web"));
app.use("/api", require("./routes/api"));
app.set("port",process.env.PORT || 3000);
app.listen(app.get("port"),function(){
console.log(module.exports.serverTest);
});
尝试进行npm测试时,出现了此错误,但是我似乎无法修复该错误。几天来一直试图把我的头缠在mochajs和node.js上,但我似乎无法用travis来解决问题...
我可以在@LevKuznetsov的帮助下解决此问题