これを試してみると、例外が発生します。
System.TypeLoadException : Access is denied: 'Namespace.IInternalInterface'.
インターフェイスを公開することは、受け入れられる解決策ではありません。テストのために API の可視性を変更したくありません。
これを試してみると、例外が発生します。
System.TypeLoadException : Access is denied: 'Namespace.IInternalInterface'.
インターフェイスを公開することは、受け入れられる解決策ではありません。テストのために API の可視性を変更したくありません。
解決策を見つけて文書化しました。
http://www.rhyous.com/2012/05/03/nmock2-internal-interface/
NMock2 の新しいバージョン (私はここで入手しました: NMock2 Project ) は 1 つしか必要とせず、それは異なります。
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
私はこれに対する答えを見つけました:
NMock2 (およびその他のモック フレームワーク)。動的に生成されたアセンブリでモック オブジェクトを作成します。モック フレームワークがモック オブジェクトを作成するには、これらのアセンブリから内部が見えるようにする必要があります。
Module Under Test の 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")]