2017-09-26 7 views
0

テストクラスでオブジェクトをインスタンス化せずにvoidメソッドをテストするにはどうすればよいですか?内部静的クラスでは、テストするオブジェクトを作成するために "new"を使用することはできません。私は非静的クラスのオブジェクトを作成してユニットテストをしましたが、私は内部静的クラスを扱っておらず、止まっています。どんな指導も素晴らしいでしょう。ここで内部スタティッククラスのvoidメソッドのユニットテスト

は、問題のクラス/メソッドです:

答えて

4

あなたは内部クラスにアクセスするために別のプロジェクトを許可するようにInternalsVisibileTo属性を使用することができます。

[assembly: InternalsVisibleTo("NameOfYourUnitTestProject")] 

これにより、テストプロジェクトでUtil.AssertBytesEqualを呼び出すことができます。アセンブリレベルで適用される属性は、AssemblyInfo.csファイルに置くのが一般的です。

実際のメソッド自体をテストする場合は、「出力」のように見えるので、言い換えれば例外です。メソッドがさまざまな入力に対して例外を投げるかどうかをテストするだけです。

関連する問題