1
好吧,我的摩卡测试将通过,如果我注释'之前'和'后'方法。我相信我的两个错误都是相互关联的。摩卡'之后'失败,说它找不到'应用'
'after'方法失败,说明app.close不是函数。 'before'方法失败,说它无法在我的第7行(清除服务器缓存)中找到'app'。
我完全没有选择或想法。我希望能够在我的命令下启动和停止服务器。这是我第一次尝试在我的摩卡测试中加入任何类型的“之前/之后”方法。下面的工作代码,但我的失败部分评论。有什么建议么??
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);
});
});
});
谢谢@Andrei。我用你最后一个链接的建议,并使用它。至于在那里离开第二条线来引用我的服务器,我做到了这一点,这样我就可以在需要时激活它或将其注释掉,以测试我的“它”在没有任何事情出现在我的“之前”或“后'。现在您的建议已被证明非常棒,我已将该行永久移动到我的'之前'。谢谢。 –