[求助]如何stub模块中的函数[已解决]
app主文件里面 require了一个 mongoose.model 在做单元测试的,不想连接数据库,于是想stub掉model里面的find函数。
在测试的before里面做了
_Task = require('../models/myModel').Task;
_find = _Task.prototype.find
_Task.prototype.find = function(cb){
cb(null,[{name:'task1'}])
};
然后在 after 里面恢复
发现在运行测试case这样替换是不生效。
请问各位大牛,这样的情况 如何设置stub函数?
先谢过
1 回复
其实是自己犯2了 mongoose.model 对象本身才具有 find方法。即本问题中 _Task.find应该被stub掉 更搞的 _Task.prototype中根本没有find方法。 :)