响应状态在我的控制下通过和失败。但是我不知道如何让expect(res.body)测试通过。在浏览器中查看时,Route将完全按照编程显示。但是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;mocha测试:
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();
});
});发布于 2016-08-20 06:39:19
好了,我想通了。我不得不通过控制台记录响应,然后深入研究,直到我让它正确响应。在上面的示例中,它返回一个空集或null。我倾向于回答我的问题的代码是:
.end(function(err, res) {
if(err)
return done(err);
console.log(res.text);
expect(res.text).to.equal('CONGRATS');
return done();我最初的想法是,我必须针对响应的".body“进行测试。这里似乎不是这样的。
https://stackoverflow.com/questions/39030562
复制相似问题