現在、.Net Standard 1.6ライブラリを作成して、最新のVisual Studio 2017リリース候補版を試しています。私はコードの単体テストにxUnitを使用しており、VS2017で内部メソッドを引き続きテストできるかどうか疑問に思っていました。
指定したプロジェクトが内部メソッドを表示できるようにするVS2015のすべての行AssemblyInfo.csクラスを使用できることを覚えています
[assembly:InternalsVisibleTo("MyTests")]
VS2017 .Net StandardプロジェクトにはAssemblyInfo.csクラスがないため、内部メソッドを単体テストできるかどうか疑問に思いましたか?
namespace
ブロックの外にある他のファイルに置くことができ、コンパイルする必要があります。魔法のようなことはありませんAssemblyInfo.cs
。うまくいきませんか?もちろん、正しいusing
句を追加するか、完全修飾属性を使用する必要があります[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Something")]
。
InternalsVisibleTo
重大である-例えば、ここで- stackoverflow.com/a/17574183/43453