Amazon

2017年9月
          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

最近のトラックバック

無料ブログはココログ

Amazon2

« RaspberryPi2にLegoでお家を作りました(RaspberryPi2を購入しました) | トップページ | RaspberryPi2 (Debian) にSAMBA4(v4.1.16)をインストールする(ActiveDirectoryのDCを構築する) »

2015年2月22日 (日)

単体テストクラスにだけinternalなクラスを参照可能にする

備忘録的な小ネタです。何かちょっとしたメソッドを作る時って、大抵通常は
通る事が無いパスをついでに作製してしまいます。で、そういうメソッドは
普通にやっていても通らないのが判っているので、なんとかしてそのパスも
通したくなるので、単体テスト(UnitTest)を行う事になるのですが…






時折ここで問題が発生します。そのアセンブリ内のクラスは何でもかんでも
publicにしてある訳ではありません。当然、internalにしているケースもあるの
ですが、その場合はそのクラスの単体テストも同一のアセンブリにしないと
テストができません。しかし、internalをpublicにするのも嫌ですし、
テストコードも本番のアセンブリに記述するのも色々な意味で嫌です。

と、こういう場合は以下の様なおまじない(設定)を書いて、特定のアセンブリにのみ
internalクラスも参照できる様に設定します。


・特定のアセンブリにだけinternalなクラス/メソッドの参照を可能にする

各プロジェクトの(通常は)AssemblyInfo.csに以下の一行を追記します。
"UnitTest.VariableObject"の箇所はアセンブリ名で、ここで指定した
アセンブリにだけinternalなクラス/メソッドを参照可能にします。


20150222



どうでしょう。これで、ちゃんとinternalに設定したクラスやメソッドが
単体テストのアセンブリから参照できる様になりました。これでまた一つ
手軽に単体テストを実装できる様になりました。折角VisualStudioに単体テストも
統合されているのだから、単体テストは実施した方が良いですよね。







単体テストは便利ですね。がっつり書いてからのデバッグよりもちまちま
直した方がずっと楽ですしね!










« RaspberryPi2にLegoでお家を作りました(RaspberryPi2を購入しました) | トップページ | RaspberryPi2 (Debian) にSAMBA4(v4.1.16)をインストールする(ActiveDirectoryのDCを構築する) »

C#」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1680410/59024136

この記事へのトラックバック一覧です: 単体テストクラスにだけinternalなクラスを参照可能にする:

« RaspberryPi2にLegoでお家を作りました(RaspberryPi2を購入しました) | トップページ | RaspberryPi2 (Debian) にSAMBA4(v4.1.16)をインストールする(ActiveDirectoryのDCを構築する) »