問題は、テストしたいクラスで使用されているアセンブリ内にたくさんの内部クラスがあることです。アクセサーはVS2012から削除されているので、私は[InternalsVisibleTo]
を使用しても問題ありません。それは素晴らしいことです...私の内部クラスを擬似しようとする場合を除いて、それらはFakesフレームワークには見えません。私が扱っている特定のクラスは静的メソッドを持つ静的クラスであり、そのレベルのリファクタリングに対する組織の抵抗のために、インタフェースを使用する(およびスタブを使用する)すべてをリファクタリングする必要はありません。Fakes Framework shimでVS 2012の内部クラスを模擬/分離する方法は?
これらの内部メンバーをVisual Studio 2012のshimsコンテキストで使用できるようにする方法はありますか?
私はこれを試してみましたが、実際には、私の内部インターフェイスのいずれも表示されます。私は公開インタフェース用のスタブを取得するだけです。私はオリジナルの質問がシムについてのものだったことを知っています - 内部インターフェイスをスタブするためにこれを動作させることができましたか? –
MSDNのページを更新中です。テストアセンブリがターゲットアセンブリから内部型にアクセスできるようにするには、InternalsVisibleToAttributeも必要です。 [assembly:InternalsVisibleTo( "TargetAssembly.Fakes")] [assembly:InternalsVisibleTo( "TestAssembly")] –
私が逃したmsdnページの重要なメモ: 'Fakeフレームワークは同じものを使用します。あなたがものを署名している場合、署名は常に 'のPublicKey = 0024000004800000940000000602000000240000525341310004000001000100e92decb949446f688ab9f6973436c535bf50acd1fd580495aae3f875aa4e4f663ca77908c63b7f0996977cb98fcfdb35e05aa2c842002703cad835473caac5ef14107e3a7fae01120a96558785f48319f66daabc862872b2c53f5ac11fa335c0165e202b4c011334c7bc8f4c4e570cf255190f4e3e2cbc9137ca57cb687947bc'するかどう生成されたすべてのassemblies'、その公開鍵に署名するための鍵!これは私を永遠にこれをキャッチするのにかかった! –