ExpressJS res.send() 不发送数据
我不确定为什么 GET
请求无法向我发回数据
基本上,我的 GET
请求如下所示:
router.get('/', (req, res) => {
res.set('Content-Type', 'text/html')
res.status(200).send(Buffer.from('<p>some html</p>'))
});
然后我使用 supertest
来测试此路由。
test('test', async () => {
const res = await request(app)
.get('/')
expect(res.statusCode).toBe(200);
expect(res.body.toString()).toBe("<p>some html</p>");
});
然后我 console.log(res.body)
,它返回空的{}
我不知道为什么路线返回给我空的对象。
I'm not sure why the GET
request can't send me back the data
Basically, my GET
request looks like:
router.get('/', (req, res) => {
res.set('Content-Type', 'text/html')
res.status(200).send(Buffer.from('<p>some html</p>'))
});
Then I use supertest
to test this route.
test('test', async () => {
const res = await request(app)
.get('/')
expect(res.statusCode).toBe(200);
expect(res.body.toString()).toBe("<p>some html</p>");
});
Then I console.log(res.body)
, it returns me the empty{}
I'm not sure why the route return give me the empty obj.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
响应数据应从
res.text
获取,而不是从res.body
获取。app.js
:app.test.js
:测试结果:
The response data should be get from
res.text
notres.body
.app.js
:app.test.js
:Test result: