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。我用你最後一個鏈接的建議,並使用它。至於在那裏離開第二條線來引用我的服務器,我做到了這一點,這樣我就可以在需要時激活它或將其註釋掉,以測試我的「它」在沒有任何事情出現在我的「之前」或「後'。現在您的建議已被證明非常棒,我已將該行永久移動到我的'之前'。謝謝。 –