UnitTest関連記事
やりたいこと
以前、private、internalなメソッドをUnitTestしたいときのやり方を調べたが、クラス自体がinternalだったときに、そもそもUnitTest側コードからそのクラスが見えないため、テストできなかった。何とかUnitテストしたい。
やり方
InternalsVisibleTo属性を使う。
そこに、下記の一文を追加する。
「UnitTestProject1」の部分は、internalクラスを公開する公開先のアセンブリ名を書く。
[assembly: InternalsVisibleTo("UnitTestProject1")]
これで、公開先のアセンブリ(ここでいうところの「UnitTestProject1.dll」)からは、Class1に含まれるinternalなクラスが見えるようになる。
コード
https://github.com/tera1707/WPF-/tree/master/028_PrivateClassUnitTest
※以前のコードと同じ。Class1とClass1Subがinternalにしただけ。
参考
Visual Studio の単体テストで利用するInternalsVisibleTo属性について
http://moriblog.kit-eng.com/?p=867