VB2010 Express + NUnit 2.5 で、 初めてのTDD Step by Step
http://www.tdd-net.jp/vb2010ee-nunit25-tdd-stepbystep.html
NUnit V2 Test Framework
https://launchpad.net/nunitv2
暫く、NUnit は使っていなかったのですが(主に Visual Studio 付属の Test Framework を使っていたので)、ちょっとメモ書き程度に。
GUI で使う場合には、上記のリンクから辿るとして、私の場合はコマンドラインの動作を少し。コマンドラインでビルドをして、コマンドラインでテストをする、というシビアなw環境で動かしているので、まずは、テスト環境のディレクトリ構成を決めます。
+ 諸々のソースコードがあるところ
+ test/ テストコード
+ test/make.cmd
な感じで test ディレクトリを作ります。
先日、あえなく MSBuild で挫折したので、挫折したままバッチファイルを作ります。
@echo off if "%1" == "test" goto TEST copy ..\*.dll . set NUNIT=nunit.framework.dll csc /t:library /out:test.datasets.dll /r:%NUNIT% /r:sample.datasets.dll datatable.test.cs goto END :TEST nunit-console test.datasets.dll goto END :END
ビルドをするときは、*.dll を親ディレクトリからコピーして、コンパイル。
コンパイルするときに必要なのは、nunit.framework.dll だけです。これは、テスト実行時にも必要なので、test フォルダにコピーしておきます。
テストをする場合は【make test】で動作させます。いちいち nunit-console.exe と打つのも面倒だし、テストの自動化としては make した後に test も実行というスタイルがいいですよね。昔、cppunit で makefile を作っていたときもこうやっていました。
このコンソールバージョン、何が便利かというと、
- 再帰テストしたいときに、いちいち Visual Studio を立ち上げないですむ
- 視覚的には GUI がいいんでしょうが、色々なテストをいっぺんに行うときは、コマンドラインが楽
という利点があります。まぁ、DOS プロンプトとかターミナルに慣れている私だからなのかもしれませんが。受け入れテスト的な形で NUnit を使う場合は、コマンドライン版のほうが便利ですよ。
ちなみ、実行結果はこんな感じです。
C:\masuda\demo\test>make test NUnit version 2.5.9.0 Copyright (C) 2002-2010 Charlie Poole. Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov. Copyright (C) 2000-2002 Philip Craig. All Rights Reserved. Runtime Environment - OS Version: Microsoft Windows NT 5.1.2600 Service Pack 3 CLR Version: 2.0.50727.3615 ( Net 2.0 ) ProcessModel: Default DomainUsage: Single Execution Runtime: Default .. Tests run: 2, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0.09375 seconds Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
copyright を消したい場合は /nologo スイッチをつけると OK です。