要测试的代码
objID
单元测试
import { User } from '../models/no-sql/user';
function userCreate(req) {
const user = new User({
username: req.username,
password: req.password
});
return user.save();
}
app.get('/userCreate', function(req, res) {
User.findOne({ username: req.username }).lean().exec((err, data) => {
if(data){
userCreate(req).then(function() {
// success
}, function(err) {
// error
});
}else{
// no user found
}
});
});
测试得到返回user.save()然后超时。似乎我在单元测试中遗漏了一些东西,但没有抛出任何错误。我正在使用sinon-as-promise来解决这个承诺,但它似乎没有看到它。
答案 0 :(得分:2)
为了简洁起见,您不太可能故意在示例代码中省略res.send()调用。
为了确保,当路由器中调用的userCreate函数成功时,您是否返回200状态代码?
userCreate(req).then(function() {
// success
res.status(200).send('User created successfully');
}