mocha 'after' 失败说找不到 'app'
mocha 'after' fails saying it can't find 'app'
好的,如果我注释掉 'before' 和 'after' 方法,我的 mocha 测试就会通过。我确信我的两个错误是相互关联的。
'after' 方法失败,说明 app.close 不是函数。 'before' 方法无法在我的第 7 行(清除服务器缓存)上找到 'app'。
我完全没有选择或想法。我希望能够按照我的命令启动和停止我的服务器。这是我第一次尝试在我的 mocha 测试中包含任何类型的 'before/after' 方法。下面的工作代码,但我的失败部分被注释掉了。有什么建议吗??
var request = require('supertest');
var app = require('../../server');
describe('server', function() {
before(function () {
//var app = require('../../server')();
//delete require.cache[require.resolve('app')];
});
after(function () {
//app.close();
});
describe('basic comms', function() {
it('responds to root route', function testSlash(done) {
request(app)
.get('/')
.expect('Content-type', /json/)
//.expect(res.message).to.equal('Hello World!')
.expect(200, done);
});
it('404 everything else', function testPath(done) {
//console.log('testing 404 response');
request(app)
.get('/foo/bar')
.expect(404, done);
});
});
});
在 before
中,您以不同于第 2 行的方式要求您的应用程序。为什么不使用已经要求的应用程序?
示例:
before(function () {
// here you can use app from line 2
});
关于app.close
,你是从哪里找到这个功能的?
查看 Express 文档:
http://expressjs.com/en/4x/api.html#app
要关闭 express 服务器,可以使用这种方法:
how to properly close node-express server?
好的,如果我注释掉 'before' 和 'after' 方法,我的 mocha 测试就会通过。我确信我的两个错误是相互关联的。
'after' 方法失败,说明 app.close 不是函数。 'before' 方法无法在我的第 7 行(清除服务器缓存)上找到 'app'。
我完全没有选择或想法。我希望能够按照我的命令启动和停止我的服务器。这是我第一次尝试在我的 mocha 测试中包含任何类型的 'before/after' 方法。下面的工作代码,但我的失败部分被注释掉了。有什么建议吗??
var request = require('supertest');
var app = require('../../server');
describe('server', function() {
before(function () {
//var app = require('../../server')();
//delete require.cache[require.resolve('app')];
});
after(function () {
//app.close();
});
describe('basic comms', function() {
it('responds to root route', function testSlash(done) {
request(app)
.get('/')
.expect('Content-type', /json/)
//.expect(res.message).to.equal('Hello World!')
.expect(200, done);
});
it('404 everything else', function testPath(done) {
//console.log('testing 404 response');
request(app)
.get('/foo/bar')
.expect(404, done);
});
});
});
在 before
中,您以不同于第 2 行的方式要求您的应用程序。为什么不使用已经要求的应用程序?
示例:
before(function () {
// here you can use app from line 2
});
关于app.close
,你是从哪里找到这个功能的?
查看 Express 文档: http://expressjs.com/en/4x/api.html#app
要关闭 express 服务器,可以使用这种方法:
how to properly close node-express server?