現在、.NET標準1.6ライブラリを作成して最新のVisual Studio 2017リリース候補を使用しています。私はxUnitを使用して私のコードをテストし、VS2017の内部メソッドをテストできるかどうか疑問に思っていました。ユニットの内部テストVS2017 .Net標準ライブラリ
私は私がいたVS2017ネット標準のプロジェクトにはAssemblyInfo.csクラスが存在しないので、あなたが指定したプロジェクトを可能にするVS2015でのすべてのラインAssemblyInfo.csクラスは内部メソッド
[assembly:InternalsVisibleTo("MyTests")]
を見ることができることを覚えておいてくださいあなたはまだユニット内部メソッドをテストすることができますか? .NET docs for the InternalsVisibleToAttribute
によれば
あなたのコードを外部から見える機能から単体テストすることができます。結局のところ、外部コードからの論理パスがそれらの内部メソッドに到達できない場合、最初にそこで何をしていますか? – David
@David私はこれを行うことができますが、これまでにいくつかの内部クラスの周りに単純な単体テストを入れました。テストでより明示的にするだけです。 –
AFAIKの場合、この属性は 'namespace'ブロックの外側の他のファイルに置くことができ、コンパイルする必要があります。 'AssemblyInfo.cs'には魔法がありません。それは動作しませんか?もちろん、正しい 'using'節を追加するか、完全修飾属性' [assembly:System.Runtime.CompilerServices.InternalsVisibleTo( "Something")] 'を使用する必要があります。 – Groo