【发布时间】:2016-12-11 04:00:40
【问题描述】:
我目前正在尝试使用sinon 和sinon-express-mock 编写测试来模拟不正确的请求,然后在我的应用程序中调用验证函数,以确保验证函数返回正确的响应状态(400)。但是,目前我收到错误TypeError: Cannot read property 'send' of undefined。我认为send 会与res 对象的其余部分一起被嘲笑,但如果不是,我怎么能做到这一点?提前致谢。
我正在测试的功能:
export const validateItemRequest = (req, res) => {
if (!req.query.number) {
return res.status(400).send('Number not specified');
} else if ( req.query.number % 1 !== 0) {
return res.status(400).send('Incorrect number syntax');
}
};
测试代码:
describe('item', function() {
it('should only accept valid requests', function() {
const itemRequest = {
query: {
number: 'abcde',
},
};
const req = mockReq(request);
const res = mockRes();
itemController.validateItemRequest(req, res);
});
});
【问题讨论】:
-
req.query.number % 1,什么时候模数不是0?
-
@Bindrid 当数字有小数位时
标签: javascript unit-testing express response sinon