我有这个快速控制器,以便找到用户是其接收者的未读通知量。这里:
app.get('/api/user/:uid/notifications/newcount', (req, res, next) => {
const firebaseUID = req.params.uid;
User.findOne({ firebaseUID })
.select('_id')
.then(user => Notification.count({
recipients: { $eq: user._id },
usersRead: { $ne: user._id }
})
)
.then(notificationCount => {
console.log(notificationCount.toString());
return res.send(notificationCount.toString())
})
.catch(next);
});
这对邮递员来说效果很好。
我正在尝试使用Mocha / Supertest进行测试。但由于某种原因,res.body
总是以空物体的形式回归。
控制台登录实际的控制器总是很顺利。
如果我不在[{1}}中发送toString()
,那么我会收到错误。
res.send()
应该以{{1}}的形式返回。
我如何抓住下面测试中的res.body
才能作出断言?
1
谢谢!
答案 0 :(得分:1)
在superagent基于的supertest模块中,response.body
属性仅在响应可以是parsed到Javascript对象时填充。 response.text
属性将包含普通响应正文作为字符串。
看起来text
property name来自XMLHttpRequest中的responseText
。