Не удается протестировать метод OPTIONS с помощью мокко и супертеста.

Связанный с этим вопрос Не могу проверить метод DELETE с использованием мокко и супертеста, и его текущие два ответа не решили мою проблему :(

Ниже приводится определение теста:

api = supertest(url);

describe('when OPTIONS', function () {
    it('should return only method GET', function (done) {
      api
        .options('/')
        .expect('Allow', 'GET')
        .expect(200, done);
    });
  });

Он продолжает вызывать следующую ошибку:

Uncaught TypeError: Cannot read property 'header' of undefined
      at _stream_readable.js:944:16

и когда:

 api
        .options('/')
        .end(function(error,res){
          if (error) return done(error);
          done()
        });

В нем говорится:

SyntaxError: Unexpected token G
      at Object.parse (native)
      at _stream_readable.js:944:16

Я уже пробовал много вещей, но не смог заставить эту работу.

Я использую супертест ^1.0.1, и он отлично работал с версией ~0.13.0.

Связанная проблема на https://github.com/visionmedia/supertest/issues/272

Спасибо


person Diosney    schedule 21.08.2015    source источник
comment
Я не могу воспроизвести. Вы уверены, что ответы от вашего API действительны?   -  person robertklep    schedule 21.08.2015
comment
@robertklep Спасибо за ваш комментарий, он был очень полезен для выявления проблемы.   -  person Diosney    schedule 23.08.2015


Ответы (1)


Я уже обнаружил проблему, она заключалась в том, что в API я возвращал ответ OPTIONS с Content-Type: application/json, но тело было недопустимым JSON (это было GET, HEAD).

person Diosney    schedule 23.08.2015