TeamCity 2020.2 ヘルプ

Visual Studio テスト

Visual Studio Tests ビルドランナーは、MSTest フレームワークと VSTest コンソールランナー(英語)の機能を統合します。両方のフレームワークのサポートにより、TeamCity はテストを実行し、テスト結果を自動的にインポートできます。

Visual Studio テストランナーには、Visual Studio テストエージェントまたは Microsoft Visual Studio がビルドエージェントにインストールされている必要があります。

Visual Studio テストランナー設定

オプション

説明

テストエンジンの種類

テストの実行に使用されるツールを選択します: VSTest または MSTest。

テストエンジンのバージョン

ドロップダウンメニューからツールのバージョンを選択します。デフォルトでは、使用可能な VSTest および MSTest インストールは TeamCity によって自動検出されます。

  • MSTest バージョン 2005-2017 がサポートされています

  • VSTest バージョン 2012-2017 がサポートされています

ここでもテストランナーへのカスタムパスを指定できます。TeamCity パラメーターがサポートされています。

テストファイル名

このフィールドは、VSTest の場合は必須で、MSTest の場合はオプションです。
含まれているアセンブリリストで、テストを実行するアセンブリへのパスの改行で区切られたリストを指定します。対応するフィールドでアセンブリへのパスを指定して、テスト実行からアセンブリを除外します。ワイルドカードがサポートされています。
アセンブリへのパスは、ビルドチェックアウトディレクトリからの相対パスである必要があります。

実行構成ファイル

(オプション)VSTest(英語) の場合は標準 .runsettings ファイル、MSTtest(英語) の場合は .testsettings ファイルを指定します。ファイルブラウザー VCS-browserIcon.png を使用できます。

追加コマンド行パラメーター

選択したテストエンジンの追加のコマンドラインパラメーターを入力します。
MSTest で実行されたテストは、オンザフライで報告されないことに注意してください。
Microsoft Developer Network には、VSTest(英語) および MSTest(英語) で使用可能なオプションがリストされています。

その他の設定は、テストを実行するエンジンによって異なります。

VSTest 設定

オプション

説明

ターゲットプラットフォーム

プラットフォームのビット数を選択します。x64 ターゲットプラットフォームを指定すると、vstest.console プロセスは分離モードで実行されます。

フレームワーク

デフォルトが指定されている場合、vstest.console はターゲットフレームワークを自動的に選択します。ドロップダウンを使用して .NET プラットフォームを手動で選択することもできます。

テスト名

(省略可能)含まれているアセンブリで検出されたすべてのテストのうち、指定された値と名前が一致するテストのみが実行されます。複数値の場合は、改行を使用してください。

フィールドが空の場合、すべてのテストが実行されます。詳細はマイクロソフトのドキュメント(英語)を参照してください。以下のオプションと一緒に使用することはできません。

テストケースフィルター

与えられた式に一致するテストを実行します。詳細はマイクロソフトのドキュメント(英語)を参照してください。上記のオプションと一緒に使用することはできません。

単独で実行

独立したプロセスでテストを実行する

リアルタイムテストレポートを使用する

  • このチェックボックスが選択されている場合、カスタム TeamCity テストロガーがリアルタイムレポートに使用されます。詳細については、次のセクションを参照してください。

  • 選択しない場合、VSTest は実行後にテストを TeamCity に報告します(カスタムロガーの検出は試行されません)。

カスタムテストロガー

VSTest.Console supports custom loggers, that is libraries that can handle events that occur when tests are being executed.
TeamCity has a custom logger that provides real-time test reporting. The logger must be installed manually on the agent machine, as it requires dlls to be copied to the Extensions folder of the VSTest.Console. No agent restart is needed when the custom logger is installed.

カスタムロガーをインストールする :

1. カスタムロガー(英語)をダウンロードします。

2. エージェントマシンにダウンロードしたアーカイブの内容を次のパスに抽出します。

  • VisualStudio 2019 アップデートの場合:

PROGRAM_FILES(x86)\Microsoft Visual Studio\2019<Edition>\Common7\IDE\Extensions\TestPlatform\Extensions
  • VisualStudio 2017 アップデート 5 以降の場合:

PROGRAM_FILES(x86)\Microsoft Visual Studio\2017<Edition>\Common7\IDE\Extensions\TestPlatform\Extensions
  • VisualStudio 2017 のアップデート 4 まで:

PROGRAM_FILES(x86)\Microsoft Visual Studio\2017<Edition>\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions
  • VisualStudio 2015 の場合:

PROGRAM_FILES\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions
  • VisualStudio 2013 の場合:

PROGRAM_FILES\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions
  • VisualStudio 2012 の場合:

PROGRAM_FILES\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions

3. エージェントマシンのコンソールで vstest.console.exe /ListLoggers を実行して、カスタムロガーが正しくインストールされたことを確認します。ロガーが正しくインストールされていれば、FriendlyName TeamCity のロガーがリストされます:

VSTest.TeamCityLogger.TeamCityLogger Uri: logger://TeamCityLogger FriendlyName: TeamCity{info}

MSTest 設定

オプション

説明

MSTest メタデータ

Enter a value for /testmetadata:file argument. See details in the マイクロソフトのドキュメント(英語)

実行するメタデータからのテストリスト

テストリストを編集します。すべての行は /testlist:line 引数に変換されます。詳細はマイクロソフトのドキュメント(英語)を参照してください。

テスト

実行する個々のテストの名前このオプションは一連の /test: 引数に変換されます。詳細はマイクロソフトのドキュメント(英語)を参照してください。

固有

Run the test only if one unique match is found for any specified test in test section.

結果ファイル

/resultsfile:file_name コマンドライン引数の値を入力します。パラメーター参照がサポートされています。ビルド一時ディレクトリに一時 \*.trx ファイルを生成するには、フィールドを空白のままにすることをお勧めします。ビルド間でディレクトリがクリーンアップされる場合があることに注意してください。

テスト実行の結果をデフォルト以外の名前のファイルに保存するには、/resultsfile:file_name コマンドライン引数に値を入力します。

  • 指定されたパスが相対パスの場合、ビルドチェックアウトディレクトリからの相対パスになります。指定されたファイルがチェックアウトディレクトリにすでに存在する場合、ビルドエージェントはファイルの削除を試みます。エージェントが削除に失敗した場合、ビルドは失敗します。
    ビルド一時ディレクトリに *.trx レポートを作成するには、%system.teamcity.build.tempDir%. を使用します

  • 指定されたパスが絶対パスの場合、「そのまま」使用されます。