[英]Testing express routes with mongoose query
我正在尝试测试有mongoose查询的路由。我一直在回复:
AssertionError: expected undefined to equal true
以下是我测试的基本模板。 目前我只想确认它调用res.json。
该路由返回User模型中的所有条目
route.js
const User = require('../../../models/users/users');
const listUsers = (req, res) => {
User.find((err, users) => {
if (err) res.send(err);
res.json(users);
})
};
module.exports = listUsers;
test.js
const expect = require('chai').expect;
const sinon = require('sinon');
const listUsers = require('../../../../src/routes/api/users/listUsers');
describe('listUsers', () => {
it('retrieves users', () => {
const req = {};
const res = {};
const spy = res.json = sinon.spy;
listUsers(req, res);
expect(spy.calledOnce).to.equal(true);
})
});
find函数有两个参数。 第一个是搜索条件,第二个是回调函数。 看起来你错过了第一个参数。
由于您要查找所有用户,因此您的标准是 - {}
所以这将解决你的问题 -
User.find({}, (err, users) => {
if (err) res.send(err);
res.json(users);
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.