LoginSignup
14
7

More than 1 year has passed since last update.

[C#]クラス自体がinternalなときのUnitTest

Last updated at Posted at 2019-06-28

UnitTest関連記事

やりたいこと

以前、private、internalなメソッドをUnitTestしたいときのやり方を調べたが、クラス自体がinternalだったときに、そもそもUnitTest側コードからそのクラスが見えないため、テストできなかった。何とかUnitテストしたい。

やり方

InternalsVisibleTo属性を使う。

まず、dll側のAssenblyInfo.csを開く。
image.png

そこに、下記の一文を追加する。
「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

14
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7