Visual C# 2005 Express Editionでnunit.guiを動かす方法(>_<)

Express Editionはアドオンに対応してないらしく、TestDriven.NETのコンテキストメニューが出ない(TestDriven.NET-2.0.1704 Beta 2で確認)。

だが、TestDriven.NETをフル(Complete)インストールして、テストプロジェクトをスタートアッププロジェクトにすると、\Program Files\TestDriven.NET 2.0\NUnit\nunit-console-fx2.exeがデフォルトのテストランナーとして走る。ただし、テストの実行が終了するとコンソールが自動で閉じてしまうので、テスト結果が確認しづらい。

いろいろ試していてnunit.guiをデフォルトのランナーとする方法を見つけた。方法は以下のとおり。

\Program Files\TestDriven.NET 2.0\NUnit\Custom.After.Microsoft.Common.targetsを以下のように編集すればいい。

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
  <PropertyGroup Condition="'$(OutputType)'=='Library' And !Exists('$(MSBuildProjectFullPath).user')"> 
    <StartAction>Program</StartAction> 
    <StartArguments>$(TargetFileName)</StartArguments> 

    <!--ここを修正--> 
    <!--<StartProgram>$(ProgramFiles)\TestDriven.NET 2.0\NUnit\nunit-console-fx2.exe</StartProgram>--> 
    <StartProgram>$(ProgramFiles)\TestDriven.NET 2.0\NUnit\nunit-gui.exe</StartProgram> 
  </PropertyGroup> 
</Project>

動作確認した環境は以下。

  • Visual C# 2005 Express Edition日本語版
  • TestDriven.NET-2.0.1704 Beta 2 Personal(フルインストールするかDefault "Start" Unit Testingのフィーチャをインストールする必要があります。)
  • NUnit2.2.8(実際はTestDriven.NETのインストール先のNUnitが動いてて、別途インストールしたNUnitは呼び出していない)

#あとで書いた

TestDriven.NET-2.0.1734 RC1 Personalからは、インストールしてテストプロジェクトをスタートアッププロジェクトにするだけでnunit.guiが走るようだ。