やあみんな、
現在、#1205で概説されているゲッターとセッターのスパイ機能の使用方法に関するドキュメントはどこかにありますか? そうでない場合は、コードとテストを読み、必要に応じて追加することができます。 私はかなり一生懸命検索しましたが、どこにも見当たりませんでした。 ありがとう。
これはあなたが探していたものですか?
私もこれが書かれているのを見ますが、それは時代遅れのようです(以前は真実でした):
ゲッター/セッターまたは非関数プロパティをスタブする必要がある場合は、sandbox.stubを使用する必要があります
現在、通常のスタブを使用できます。
それのように見えるスタブの場合。 私は彼らのためのスパイドキュメントに何かがあることを知りません。
うーん...私は実際にスパイがゲッター/セッターに実装されているとは思いません。 理由もよくわかりません。 実装は基本的に次のようになります。
fn=Object.getOwnPropertyDescriptor(obj, prop).get
spy=sinon.spy(fn);
Object.defineProperty(obj, prop, { get: spy })
それを突き刺す気ですか?
それは実装されており、私はそれを使用しています。 #1205のテストを見て、その方法を見つけました。 私はここでテストを見つけました。
これは次のように行われます。
spy = sinon.spy(className, 'nameOfGetterFunction', ['get'])
これはドキュメントに含める必要がありますか? それとも、その実装は現時点では既知のものでさえありませんか?
それを文書化していただければ幸いです、ありがとう!
確かに、私はそれをノックアウトします。
この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 貢献していただきありがとうございます。
クラスなしで(オブジェクトによって直接)それをスパイする方法はありますか?
スペックにはオブジェクトしかなく、ゲッターセッターのクラスを要求できませんでした。他の方法もありますか?
@ mouse9何を求めているのか、それが
いずれにせよ、GitHubの問題リストを整理し、バグと機能の議論に焦点を当てようとしています。 このチケットは使用法の質問のようです。 StackOverflowに投稿し、 sinon
タグを付けてください。そうすれば、より大きなコミュニティがあなたの質問に答えることができます。
トピックがSinonの問題であると思われる場合は、新しいチケットを開いて、問題を報告するためのください。
@loganhuskinsのコードの場合:
spy = sinon.spy(className, 'nameOfGetterFunction', ['get'])
アサーションでは、 spy.getで次のようにアサーションする必要があることが
sinon.assert.calledOnce(spy.get);
以前はスパイのみで主張され、機能しませんでした。
最も参考になるコメント
それは実装されており、私はそれを使用しています。 #1205のテストを見て、その方法を見つけました。 私はここでテストを見つけました。
これは次のように行われます。
これはドキュメントに含める必要がありますか? それとも、その実装は現時点では既知のものでさえありませんか?