响应状态通过和失败都在我的控制之下。但我看不到期望(res.body)测试能够通过。在浏览器中查看时,路线完全按照编程显示。但是用于测试浏览器中呈现内容的 mocha/chai 测试总是失败。我究竟做错了什么?? 健康检查路线代码:
import express from 'express';
const router = express.Router(); // eslint-disable-line new cap
// GET /health-check - checking for basic server reaction
router.get('/health-check', (req, res) =>
res.status(200).send('CONGRATS')
);
export default router;
摩卡测试:
it('should return 200 and res.body of OK', (done) => {
request(app)
.get('/api/health-check')
.expect(200)
.end(function(err, res) {
if(err)
return done(err);
expect(res.body).to.equal('CONGRATS');
return done();
});
});
好吧,我明白了。我必须控制台记录响应,然后深入研究,直到它正确响应为止。在上面的示例中,它返回一个空集或 null。我倾向于回答我的问题的代码是:
.end(function(err, res) {
if(err)
return done(err);
console.log(res.text);
expect(res.text).to.equal('CONGRATS');
return done();
我最初的想法是我必须针对响应的“.body”来对其进行测试。这里似乎不是这种情况。