でインスタンスを作成した場合 var a = sinon.createStubInstance(MyContructor)
。
のようなスタブ化された関数の 1 つを置き換えるにはどうすればよいですかvar stub = sinon.stub(object, "method", func);
。
私がこれを行っている主な理由は、これが述べたように複数のコールバックの回避策を達成したいからです
でインスタンスを作成した場合 var a = sinon.createStubInstance(MyContructor)
。
のようなスタブ化された関数の 1 つを置き換えるにはどうすればよいですかvar stub = sinon.stub(object, "method", func);
。
私がこれを行っている主な理由は、これが述べたように複数のコールバックの回避策を達成したいからです
sinon.createStubInstance(MyConstructor)
orを使用してオブジェクト全体をsinon.stub(obj)
スタブした後、新しいスタブをプロパティに割り当てるか (@g00glen00b で説明されているように)、再スタブする前にスタブを復元することによってのみ、スタブを置き換えることができます。
var a = sinon.createStubInstance(MyConstructor);
a.method.restore();
sinon.stub(object, "method", func);
a.method.restore()
これの利点は、期待される動作で後で呼び出すことができることです。
.call(func)
スタブ APIに、スタブによって呼び出される関数を後でオーバーライドするメソッドがあれば、より便利です。