У меня есть тест, который выглядит следующим образом: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(404, done)
, если я изменю это как .expect(200, 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 –