Table of Contents
Visual Studio 設定
- NUnit にパスが通っていること。
- Visual C# 2010 Express だと、外部ツールとビルドイベントとでマクロの値が違うのはなんでなんだぜ。(--#)
外部ツール | ビルドイベント | |
---|---|---|
TargetPath | obj\Release\$(TargetName)$(TargetExt) | bin\Release\$(TargetName)$(TargetExt) |
TargetDir | obj\Release\ | bin\Release\ |
TargetName | (ターゲット名) | (ターゲット名) |
TargetExt | .exe または .dll | .exe または .dll |
TargetFileName | - | $(TargetName)$(TargetExt) |
BinDir | bin\Release\ | - |
OutDir | - | bin\Release\ |
随時実行
- 「ツール - 外部ツール」に追加する。
項目 | 値 |
---|---|
タイトル | NUnit(&U) |
コマンド | nunit-console-x86.exe |
引数 | "$(BinDir)$(TargetName)$(TargetExt)" |
初期ディレクトリ | "$(BinDir)" |
出力ウィンドウを使用 | チェックする |
起動時に引数を入力 | チェックしない |
Unicodeで出力を処理する | チェックしない |
- 単体テストのコードを含むプロジェクトを選択している状態で実行する。
ビルド時に自動実行
- 単体テストのコードを含むプロジェクトのプロパティを開き、「ビルドイベント」で設定する。
項目 | 値 |
---|---|
ビルド後に実行するコマンドライン (NUnit 2.x) |
if "$(ConfigurationName)" == "Release" ( cd /d "$(TargetDir)" if "$(PlatformName)" == "x64" ( nunit-console.exe "$(TargetPath)" ) else if "$(PlatformName)" == "x86" ( nunit-console-x86.exe "$(TargetPath)" ) else ( echo "NUnit skipped on platform: $(PlatformName)" ) ) |
ビルド後に実行するコマンドライン (NUnit 3.x) |
if "$(ConfigurationName)" == "Release" ( cd /d "$(TargetDir)" nunit3-console.exe "$(TargetPath)" --result="$(TargetName).xml" ) |
ビルド後に実行するコマンドライン (NUnit 3.x + ReportUnit) |
if "$(ConfigurationName)" == "Release" ( NUnit_Report "$(TargetDir)" "$(TargetPath)" "$(TargetName)" ) |
ビルド後イベントの実行 | ビルドがプロジェクト出力を更新したとき |
NUnit_Report.bat
set TargetDir=%1
set TargetPath=%2
set TargetName=%3
cd /d "%TargetDir%"
nunit3-console.exe "%TargetPath%" --result="%TargetName%.xml"
set ErrorCount=%ERRORLEVEL%
ReportUnit "%TargetName%.xml"
exit /b %ErrorCount%
Link
- http://www.nunit.org/
C# Blog - Tips and Tricks: Integrate NUnit with Visual Studio Express
VisualC#2010ExpressにおけるNUnitの基本的な設定の仕方 - 森理 麟(moririring)のプログラマブログ
VB.NETとC#でデザインパターン
NUnitReport: Nunit の nunit-console.exe で出力されたXMLテスト結果をHTML変換したレポートを作成します。Differences between Assert.True and Assert.IsTrue in NUnit? - Stack Overflow
- c# - How to assert that two list contains elements with the same public properties in NUnit? - Stack Overflow
おまけ
- マクロ値確認に使ったバッチファイル
@echo off echo %cd% :loop echo %0 shift if not '%0' == '' goto loop