コマンドラインで NUnit を使う

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 です。

カテゴリー: 開発, C#, xUnit パーマリンク