Sinon v4.1.2を使用しています。ドキュメント( http://sinonjs.org/releases/v4.1.2/sandbox/ )によると、以下を使用してプロパティを設定できるはずです。
sandbox.stub(myObject, 'hello').value('Sinon');
ただし、エラーが発生します。
プロパティ '値'はタイプ 'SinonStub'に存在しません
これを行う実際の方法は何ですか?利用可能なすべての関数を調べてreturnValue
を試しましたが、それも有効な関数ではありません。
以下は古いバージョンのsinonで動作していました:
sandbox.stub(myObject, 'hello', 'Sinon');
これは私のためにSinon.JS v4.1.2で動作します:
myObject = {hello: 'hello'}
sandbox = sinon.createSandbox()
sandbox.stub(myObject, 'hello').value('Sinon')
myObject.hello // "Sinon"
sandbox.restore()
myObject.hello // "hello"
私の経験では、毎回サンドボックスを作成する必要はありません。コードなしでスタブを使用して、コードの複雑さを軽減できます。次のようにスタブを定義するだけです:
const stubHello = sinon.stub(myObject, 'helloFunction');
そして、あなたはすべてのスタブパワーを持っています!