どのように私はNMock2を使用して内部インタフェースを模擬することができますか?

StackOverflow https://stackoverflow.com/questions/3407552

質問

私はこれをしようとした場合、私はちょうど例外を取得します:

System.TypeLoadException : Access is denied: 'Namespace.IInternalInterface'.
インターフェイスを公開作ることは受け入れ可能な解決策ではありません。私はそれをテストするために、私のAPIの可視性を変更する必要はありません。

役に立ちましたか?

解決 2

私はこの答えを見つけました

NMock2、(および他のモックフレームワーク)。動的に生成されたアセンブリ内のモックオブジェクトを作成します。モックオブジェクトを作成するためのモックフレームワークのために、内部は、これらのアセンブリを表示する必要があります。

ただ、モジュールの下にテストのためのAssemblyInfo.csクラスに次の宣言を追加します:

// Allow unit test and mock assemblies to see internal members.
[assembly: InternalsVisibleTo("MyAssembly.UnitTest")]
[assembly: InternalsVisibleTo("NMock2")]
[assembly: InternalsVisibleTo("Mocks")]
[assembly: InternalsVisibleTo("MockObjects")]

他のヒント

発見し、解決策を文書化します。

http://www.rhyous.com/2012/05 / 03 / nmock2内部インターフェース/

NMock2新しいバージョンのことが判明した(私はここでそれを得た: NMock2プロジェクトを)のみニーズ1、それは違います。

[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top