JavaではJUnitが有名だけど、.NETにもそういったテストツールはある。
それはNUnitというツール。どうもJUnitをベースに作られたようだ。
大雑把なNUnitを使用する手順を書いておく。
詳しくはここを参照。
- NUnitをインストール(ここのDownload NUnit .Net unit testing frameworkと緑で書かれているところをクリックしよう)
- テストしたいプロジェクトと同じソリューションに「ファイル」→「追加」でテスト用のプロジェクトを作成(以下テストプロジェクト)
- テストプロジェクトに対して「参照の追加」→「参照タブ」でnunit.framework.dll(NUnit\bin配下にある)を追加
- テストプロジェクトに対して「参照の追加」→「プロジェクト」でテストしたいプロジェクトを追加
ここまでで基本的な枠作りはできた。
このあとは実際にテストコードを記述していくだけ。
で、実際にテストコードを書くには。
詳しくはここを参照。
- using NUnit.Framework;をしておく(↓で属性を指定する時にラクをするため)
- [TestFixture]属性をテスト用クラスの前に付ける
- [Test]などの属性をテスト用メソッドの前に付ける
以上。Testの属性にはそのほかに例外が発生することのテスト方法などもある。
[ExpectedException(typeof(例外の型))]
こんな感じ。
どうでもいいけど、C言語で他のファイルなどを読み込むときはinclude、JavaならImportなどで、そのまま会話で発言してもそこまで違和感なかった。(例:あー、これはxxファイルをインクルードしなきゃ etc)
だけど、C#のusingって言いづらくない? なんていうか、「ここのユージングが抜けてるよ!」とかって中途半端なアメリカナイズされた人みたいな感じがして(笑)
■■■
しまった。テストプログラムを作ることで満足して更新してしまった。
プログラムができたらテストプログラムを走らせないといけない。
実行するためには、NUnitをインストールするときにショートカットができるのでそれを実行するかbinフォルダ内のnunit-gui.exeを実行して、「file」→[open]で作成されたテスト用クラスのexeやdllを読み込めば良い。
正しく読み込まれればテスト用のメソッドなどが画面に表示されるので、おもむろに画面右側の「Run」ボタンを押下するとテストが実行されるって寸法。
ここらへん、Visual StudioのIDEと一体化できればラクで面白いと思うんだけどなぁ。やっぱりそこらへんは天下のマイクロソフトとオープンソースプロジェクトの組み合わせってことで難しいところなんだろうか。
#追記
IDEの連動っぽいものはできた。ビルドしたときにテストツールを起動させる方法。
http://www.objectclub.jp/community/XP-jp/xp_links/
にあるリンクの「NUnit 利用ガイド(Ver2)」に詳しいやり方が書いてある。
ちなみに、NUnitの詳しい使い方などは「NUnit トレーニングテキスト」にも書いてある。
注意点として、上記の環境はVS2005以前のバージョンなので貼り付けてある画像が多少異なっているので気をつけて欲しい。
例えば、利用ガイドの方であるプロジェクトのプロパティ画面だけど、VS2005では左側にタブのついているオシャレ画面になっている。
変更点は、デバッグタブを押下して以下の2点を行う。
- 「開始動作」→外部プログラムの開始:nunit-gui.exeへのパス(exeまで含めて)
- 「開始オプション」→コマンドライン引数:テストクラスから生成したバイナリ(何にもいじってなければnamespace.exeができると思うのでファイル名のみで指定)
以上。