避免“ JSON.parse(body)”的正文分析器

时间:2018-09-19 21:30:33

标签: javascript express middleware chai

在快递中,我可以使用一种名为“ body-parser”的中间件来自动解析传入的主体。

现在我没有将中间件应用于的快速路由器,是否有可能以某种方式将其应用于我的chai测试文件中的所有请求?这样我就可以归档DRY原理了。

我目前在每次测试中都使用它:

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 :(得分:0)

我假设您正在使用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)
})

未经测试,但这是我从阅读文档中学到的。