【发布时间】:2022-07-23 00:50:07
【问题描述】:
我有这个方法
getUser: function(req,res)
{
var params = req.body;
User.findById(req.params.id, function (err, result) {
if (err) {
return handleError(err);
}
return res.json(result);
});
},
还有这个测试
describe('users', ()=>{
let findStub;
let deleteStub;
let sampleUser;
let mailerStub;
beforeEach(()=>{
sampleUser = {
id: 123,
name: 'foo',
email: 'foo@bar.com',
save: sandbox.stub().resolves()
}
findStub = sandbox.stub(mongoose.Model, 'findById').resolves(sampleUser);
deleteStub = sandbox.stub(mongoose.Model, 'remove').resolves('fake_remove_result');
})
afterEach(()=>{
sandbox.restore();
users = rewire('./user');
})
用户 得到 应该检查一个ID: TypeError:无法读取 null 的属性(读取“正文”) 在 Object.getUser (controllers/user.js:113:22)
错误在这一行 var params= req.body;在方法中。我不知道如何解决它。
context('get', ()=>{
it('should check for an id', (done)=>{
users.getUser(null, (err, result)=>{
expect(err).to.exist;
expect(err.message).to.equal('Invalid user id');
done();
})
})
【问题讨论】: