7

私のテスト ヘルパー コードの一部には、実際のデータベースなしで多くの EF 動作を模倣するというIDbSet(Of T)実装があります。すべてのコードFakeDbSet(Of T)に. 内部的に (つまり、アセンブリ内で)、テストできるようにしたいクラスのパブリック メンバーの多くにアクセスします。FriendIDbSet(Of T)Testing

問題は、単体テストを別のアセンブリに保持しているためTest.Unit、内部実装にアクセスできないことです! リフレクションでこれを回避できることはわかっていますが、それは非常に面倒で面倒です。この問題を回避するためにプロジェクトをセットアップするより良い方法はありますか?

4

1 に答える 1

8

これを AssemblyInfo.cs ファイルに追加します。

[assembly:InternalsVisibleTo("YourOtherAssembly")]

これにより、内部アセンブリが に表示されるようになりYourOtherAssemblyます。ただし、それが必要かどうかを検討する必要がありますinternalpublicテストを書くときは、自分の部分に集中してみてください。

詳細はこちら: http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx

于 2012-11-28T09:19:44.343 に答える