我有一個測試,看起來像這樣:Supertest預計未發出狀態代碼了
it('should fail to get deleted customer', function(done) {
request(app)
.get('/customers/'+newCustomerId)
.set('Authorization', 'Bearer ' + token)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(404, done)
});
我在這裏閱讀文檔:
https://github.com/visionmedia/supertest
它這樣說:
請注意如何通過直接完成.expect()調用
如果我將其更改爲.expect(200, done)
,那麼不工作的代碼行是.expect(404, done)
,那麼測試不會失敗。
不過,如果我添加結束這樣的:
it('should fail to get deleted customer', function(done) {
request(app)
.get('/customers/'+newCustomerId)
.set('Authorization', 'Bearer ' + token)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200)
.end(function(err, res) {
if (err) console.log(err);
done();
});
});
然後測試失敗。爲什麼.expect(200, done)
也不失敗?
感謝您的迴應,這是2.0.0中的突破:https://github.com/ visionmedia/supertest /問題/ 345#issuecomment-229496425 –