MSBuild の NUnit
このページでは、MSBuild から NUnit を使用する方法について説明します。
3.0 より前の NUnit については、TeamCity が提供する NUnit タスクの使用を参照
NUnit 3.0 以降については、NUnit 3.0 での作業を参照
MSBuild ビルドでの NUnit タスクの使用
このセクションの情報は、バージョン 3.0 より前の NUnit を使用している場合に適用されます。それ以降のバージョンについては、以下のセクションを参照してください。
このセクションでは、構成済みの NUnit
タスクを含む MSBuild ビルドスクリプトがすでにあり、TeamCity が既存のビルドスクリプトを変更せずにテストレポートを追跡することを前提としています。そうでない場合は、ビルド構成のステップの 1 つとして NUnit ビルドランナーを追加することを検討してください。
MSBuild ビルドスクリプトで NUnitTeamCity タスクを使用する
TeamCity は、MSBuild コミュニティタスク(英語)プロジェクトの NUnit
タスクと互換性のあるカスタム NUnitTeamCity
タスクを提供します。ビルドスクリプトで NUnitTeamCity
タスクを提供すると、TeamCity はタスク内で指定されたオプションに基づいて独自のテストランナーを起動します。TeamCity がテストを実行するため、NUnit ランナーは必要ありません。
NUnitTeamCity
タスクを正しく使用するには、次の手順を実行します。
teamcity_dotnet_nunitlauncher
システムプロパティがビルドエージェントでアクセス可能であることを確認してください。Windows を実行しているビルドエージェントは、これらのプロパティを環境変数として自動的に検出する必要があります。手動で設定する必要がある場合は、agent-specific プロパティの定義を参照してください。次の構文を使用して、
NUnitTeamCity
タスクで MSBuild ビルドスクリプトを構成します。<UsingTask TaskName="NUnitTeamCity" AssemblyFile="$(teamcity_dotnet_nunitlauncher_msbuild_task)" /> <NUnitTeamCity Assemblies="@(assemblies_to_test)" />
NUnitTeamCity
タスクは、次の属性をサポートしています。
プロパティ | 説明 |
---|---|
| x64 マシンの実行モード。サポートされる値は、x86、x64、ANY です。 |
| 使用する .NET フレームワーク: v1.1、v2.0、v4.0、ANY。デフォルトでは、MSBuild ランタイムが使用されます。MSBuild 2.0 および 3.5 のデフォルトは v2.0 です。MSBuild 4.0 の場合、デフォルト値は v4.0 です。 |
| MSBuild コミュニティタスク(英語)プロジェクトの |
| MSBuild コミュニティタスク(英語)プロジェクトの |
| テストの実行に使用される NUnit のバージョン。サポートされている NUnit バージョン: 2.2.10 , 2.4.1 , 2.4.6 , 2.4.7 , 2.4.8 , 2.5.0 , 2.5.2 , 2.5.3 , 2.5.4 , 2.5.5 , 2.5.6 , 2.5.7 , 2.5.8 , 2.5.9 , 2.5.10 , 2.6.0 , 2.6.1 , 2.6.2 , 2.6.3 例: NUnit 3.0 以降を使用するには、以下のセクションを参照してください。 |
| 使用するサードパーティの NUnit アドインのリスト。NUnit アドインの使用の詳細については、NUnit アドインのサポートページを参照してください。 |
| いずれかのテストが失敗した場合、True はタスクを失敗させます。 |
| テストを実行するアセンブリのリスト。 |
| 各プロセスを新しいプロセスで実行する場合は、true を設定します。 |
カスタム TeamCity NUnit
タスクは、追加の属性もサポートしています。利用可能な属性のリストについては、このセクションを参照してください。
サードパーティの NUnit アドインをサポートするために TeamCity テストランナーが必要な場合、詳細については NUnit アドインのサポートセクションを参照してください。
例(MSBuild ビルドスクリプトの一部):
注意事項
MSBuild スクリプトでシステムプロパティを使用する場合は、必ず「
.
」を「_
」に置き換えてください。例:teamcity.dotnet.nunitlauncher.msbuild.task
の代わりにteamcity_dotnet_nunitlauncher_msbuild_task
を使用します。TeamCity は、Microsoft Visual Studio2005 以降のソリューションファイル用の Visual Studio ソリューションランナーも提供します。これにより、アセンブリに MSBuild スタイルのワイルドカードを使用して単体テストを実行できます。
例
特定の NUnit ランナーバージョンを使用して NUnit テストを実行します。
NUnit 2.4.6 のカスタムアドインで NUnit テストを実行します。
NUnit 2.4.6 アセンブリごとのモードのカスタムアドインで NUnit テストを実行します。
TeamCity 独立ビルドスクリプトを作成するには、次のトリックを考慮してください。
MSBuild プロパティ TEAMCITY_VERSION
は、TeamCity から起動されると msbuild に追加されます。
NUnit 3.0 での作業
このセクションの情報は、NUnit 3.0 以降を使用している場合に適用されます。NUnit の以前のバージョンについては、上記のセクションを参照してください。
バージョン 3.0 以降、NUnit は TeamCity をネイティブでサポートしているため、以前の NUnit バージョンで行われていたように、MSBuild に特別なタスクを使用する必要はありません。最も簡単な方法は、標準の実行タスク(英語)を介して NUnit コンソールを実行することです。例:
NUnit コンソールは失敗したテストの数を正の終了コードとして返し、NUnit テストインフラストラクチャの障害の場合は負の終了コードとして返します。
TeamCity はテスト実行の進行を制御しますが、NUnit インフラストラクチャの例外により、TeamCity が必要な情報を収集できない場合があります。そのため、IgnoreExitCode="True"
属性を設定する必要があります。これは、肯定的な終了コードを無視し、いくつかの失敗したテストのためにビルドを中断しません。エラー(英語)タスクは、負の終了コードのテストインフラストラクチャエラーの場合にビルドを停止します。
プロジェクトファイルに加えて、MSBuild バージョンとターゲットプラットフォームを定義し、プロファイルとその他の設定を使用できます。
NUnit を使ってみるには詳細とその他の例が含まれています。
関連ページ:

NUnit
NUnit ビルドランナーは、TeamCity サーバー上で NUnit テストを実行することを目的としています。ただし、NUnit テストの結果を TeamCity に報告する方法は他にもあります。詳細については、NUnit のサポートページを参照してください。サポートされている NUnit のバージョン:2.2.10、2.4.1、2.4.6、2.4.7、2.4.8、2.5.0、2.5.2、2.5.3、2.5.4、2.5.5、2.5.6、2.5.7、2.5.8、2.5.9、2.5.10、2.6....

NUnit を使ってみる
このチュートリアルは、TeamCity で NUnit 3 を使用する基本的な方法を説明することを目的としています。テストプロジェクトとスクリプトのサンプルは ここにあります。ユースケースの順序は、関連する TeamCity 機能の数に基づいています。最初のケースは最も基本的でより複雑なケースであり、以下はより多くの機能を利用します。すべての機能に精通し、それらの長所と短所を見つけてから、どちらかを選択することをお勧めします。NUnit のインストール:TeamCity NUnit...