我的SailsJs控制器中有以下代码:
Jobs.create('beginImport', {
version: version
}).save(function(err){
if(err) {
return res.serverError(err);
}
res.ok({ info: "import started" });
});
在我的测试中,我试图像这样存根Jobs
:
var save = { save: sinon.stub() };
sinon.stub(Jobs, "create").returns(save);
然而,我的测试在2000毫秒后超时并失败。
如何将这些方法存根以便测试通过?
答案 0 :(得分:3)
你的存根应该调用使用stub.callsArg(index);或相关函数传递给它的函数。
var save = { save: sinon.stub() };
应该成为
var save = { save: sinon.stub().callsArg(0) };
如果您不需要传递任何参数,或
var save = { save: sinon.stub().callsArgWith(0, new Error('error')) };
如果您需要测试错误。