Тело-парсер, чтобы избежать "JSON.parse (body)" - PullRequest
0 голосов
/ 20 сентября 2018

В экспрессе я могу использовать промежуточное программное обеспечение, называемое "body-parser", для автоматического анализа входящего тела.

Теперь, когда у меня нет экспресс-маршрутизатора для применения промежуточного программного обеспечения, можно ли как-то применитьэто все запросы в моем тестовом файле chai?Так что я могу архивировать принцип СУХОГО.

В настоящее время я использую это в каждом тесте:

it('login', done => {
    request.post('http://localhost:3000', (err, res, body) => {
        JSON.parse(body) // <-- I have to parse the body each time
        done();
    })
});

1 Ответ

0 голосов
/ 20 сентября 2018

Я предполагаю, что вы используете библиотеку Request .И если я правильно понимаю ваш вопрос, вы хотите, чтобы request автоматически проанализировал ваше тело ответа с помощью JSON.parse.

В документации объясняется, как это сделать в https://github.com/request/request#requestoptions-callback

json - устанавливает body в JSON-представление значения и добавляет заголовок Content-type: application/json.Кроме того, тело ответа анализируется как JSON.

Таким образом, ваш код должен выглядеть примерно так:

request.post({url: 'http://localhost:3000', json: true}, (err, res, body) => {
    console.log(res)
    console.log(body)
})

Непроверенный, но это то, что я понял из чтения документов.

...