2

我的 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 毫秒后超时并且失败了。

如何存根这些方法以使测试通过?

4

1 回答 1

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')) };

如果您需要测试错误。

于 2015-10-05T14:18:11.883 回答