0

これを試してみると、例外が発生します。

System.TypeLoadException : Access is denied: 'Namespace.IInternalInterface'.

インターフェイスを公開することは、受け入れられる解決策ではありません。テストのために API の可視性を変更したくありません。

4

2 に答える 2

3

解決策を見つけて文書化しました。

http://www.rhyous.com/2012/05/03/nmock2-internal-interface/

NMock2 の新しいバージョン (私はここで入手しました: NMock2 Project ) は 1 つしか必要とせず、それは異なります。

[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
于 2012-05-03T22:30:29.237 に答える
2

私はこれに対する答えを見つけました:

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")]
于 2010-08-04T16:19:56.313 に答える