Sinon存根链接方法
Sinon stub chained methods
我的 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 毫秒后超时并失败。
我怎样才能对这些方法进行存根以便测试通过?
您的存根应该使用 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')) };
如果您需要测试错误。
我的 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 毫秒后超时并失败。
我怎样才能对这些方法进行存根以便测试通过?
您的存根应该使用 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')) };
如果您需要测试错误。