Провал экспресс-теста с Mocha

У меня есть сервер Express, который я пытаюсь протестировать с помощью SuperTest. Тест ниже не проходит, и я не уверен, почему.

Я вижу, что ответ имеет статус 200 (поставьте точку останова в res.status.should.equal(200)). Почему этот тест до сих пор помечается как проваленный мой Мокко?

it('Should test invoke user method', function (done) {
  supertest(app)
    .post('/save/test1/test2/test3')
    .expect(200)
    .end(function (err, res) {
      res.status.should.equal(200);
      done();
    });
});

person Community    schedule 09.08.2015    source источник
comment
Какой результат вы получаете?   -  person Amit    schedule 09.08.2015


Ответы (1)


У вас должен быть вывод, который точно говорит вам, что вы получили.

Вы также можете протестировать вручную с помощью https://www.getpostman.com/ (сейчас они находятся на обслуживании, но он должен скоро снова появиться), это ОЧЕНЬ помогает в разработке, если вы проводите тесты API, вас также может заинтересовать https://github.com/apiaryio/dredd, что полностью изменило мой рабочий процесс

редактировать:

  • Почтальон: клиент для отдыха, который представляет собой плагин chrome/FF, вы можете использовать его, чтобы сделать вызов и легко увидеть, на что похож ответ (вы можете использовать curl и wget, но почтальон прост, особенно когда вам нужно поиграть с заголовком)

  • Dredd: инструмент, который теоретически проверяет ваши чертежи/документацию, чтобы увидеть, синхронизированы ли они с вашим сервером, в действительности вы можете выполнить разработку красно-зеленого света, сначала имея все свои чертежи для API, а затем пройти все тесты, плюс в том, что вы можете увидеть, что такое json/что-то еще, на что отвечает сервер, и чем он отличается от вашего кода.

person Luca Bruzzone    schedule 09.08.2015
comment
надеюсь, я улучшил ответ, я нуб, поэтому, если вы можете указать мне, как улучшить, я сделаю это - person Luca Bruzzone; 09.08.2015