FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

internalクラスのテストを行うには

 NUnit等を使用してテストを行う場合、別プロジェクトとしてテストプロジェクトを作成すると思います。
 そうなるとテストプロジェクトからinternalクラスが使用できないためテストできません。テストを行う為だけにpublicにするのも問題があります。
 そんな時は、フレンドアセンブリを使用すればテストプロジェクトからinternalクラスにアクセスできるようになります。
 例えば、以下の様な感じでテストプロジェクトを作成していたとします。
プロジェクト
 Debug2プロジェクトにあるClass1はinternalクラスです。このクラスをTestProjectから参照できるようにするには以下の様にします。
#if DEBUG
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("TestProject")]
#endif

namespace Debug2
{
    internal class Class1
    {
        public int Sum(int a, int b)
        {
            return a + b;
        }
    }
}
 InternalsVisibleToの引数にテスト用プロジェクトの名前を指定します。
 これでこのクラスはテストプロジェクトからも参照できるようになります。
 テストプロジェクト側では特別な処理は必要ありません。publicクラスと同じ用に使用することができます。  
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

カレンダー
10 | 2018/11 | 12
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
全記事表示リンク

全ての記事を表示する

カテゴリ
タグリスト

月別アーカイブ
11  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09 
最新記事
リンク
最新コメント
検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。