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 に答える