このタスクを使って、Visual Studio Test(VSTest)ランナーを使ってユニットテストや機能テスト(Selenium、Appium、Coded UIテストなど)を実行してください。 Visual Studioのテストアダプターを搭載したテストフレームワークを実行できます。 フレームワークの例としては、MSTest、xUnit、NUnit、Chutzpah (QUnit、Mocha、および Jasmine を使用する JavaScript テスト用) などがあります。テストは、このタスクを使用して複数のエージェントに配布できます。
注
VSTest@3はタスクの最新バージョンであり、パイプラインで使用する必要があります。
注
VSTest@3タスクは、MsTest、xUnit、nUnitフレームワークに対して、データ 駆動テストに失敗した場合、静的パラメータのみでカスタムdisplayNameなしで再実行できます。
注
VSTest Azure task はVSTest-platformに特有です。 新しい Microsoft.Testing.Platform (MTP) はサポートされていません。
DotNetCoreCLI@2タスクはMicrosoft.Testing.Platform(MTP)をサポートしています。 詳細については、Microsoft.Testing.Platform Now Now fully supported in Azure DevOpsをご覧ください。
構文
# Visual Studio Test v3
# Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2 and later).
- task: VSTest@3
inputs:
#azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection.
# Test selection
testSelector: 'testAssemblies' # 'testAssemblies' | 'testPlan' | 'testRun'. Required. Select tests using. Default: testAssemblies.
testAssemblyVer2: # string. Required when testSelector = testAssemblies. Test files.
#testPlan: # string. Required when testSelector = testPlan. Test plan.
#testSuite: # string. Required when testSelector = testPlan. Test suite.
#testConfiguration: # string. Required when testSelector = testPlan. Test configuration.
#tcmTestRun: '$(test.RunId)' # string. Optional. Use when testSelector = testRun. Test Run. Default: $(test.RunId).
searchFolder: '$(System.DefaultWorkingDirectory)' # string. Required. Search folder. Default: $(System.DefaultWorkingDirectory).
#resultsFolder: '$(Agent.TempDirectory)\TestResults' # string. Test results folder. Default: $(Agent.TempDirectory)\TestResults.
#testFiltercriteria: # string. Optional. Use when testSelector = testAssemblies. Test filter criteria.
#runOnlyImpactedTests: False # boolean. Optional. Use when testSelector = testAssemblies. Run only impacted tests. Default: False.
#runAllTestsAfterXBuilds: '50' # string. Optional. Use when testSelector = testAssemblies && runOnlyImpactedTests = true. Number of builds after which all tests should be run. Default: 50.
#uiTests: false # boolean. Test mix contains UI tests. Default: false.
# Execution options
#vstestLocationMethod: 'version' # 'version' | 'location'. Select test platform using. Default: version.
#vsTestVersion: 'latest' # 'latest' | '18.0' | '17.0' | '16.0' | '15.0' | '14.0' | 'toolsInstaller'. Optional. Use when vstestLocationMethod = version. Test platform version. Default: latest.
#vstestLocation: # string. Optional. Use when vstestLocationMethod = location. Path to vstest.console.exe.
#runSettingsFile: # string. Settings file.
#overrideTestrunParameters: # string. Override test run parameters.
#pathtoCustomTestAdapters: # string. Path to custom test adapters.
#runInParallel: False # boolean. Run tests in parallel on multi-core machines. Default: False.
#runTestsInIsolation: False # boolean. Run tests in isolation. Default: False.
#codeCoverageEnabled: False # boolean. Code coverage enabled. Default: False.
#otherConsoleOptions: # string. Other console options.
#diagnosticsEnabled: false # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: false.
#collectDumpOn: 'onAbortOnly' # 'onAbortOnly' | 'always' | 'never'. Optional. Use when diagnosticsEnabled = true. Collect process dump and attach to test run report. Default: onAbortOnly.
#rerunFailedTests: False # boolean. Rerun failed tests. Default: False.
#rerunType: 'basedOnTestFailurePercentage' # 'basedOnTestFailurePercentage' | 'basedOnTestFailureCount'. Optional. Use when rerunFailedTests = true. Do not rerun if test failures exceed specified threshold. Default: basedOnTestFailurePercentage.
#rerunFailedThreshold: '30' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. % failure. Default: 30.
#rerunFailedTestCasesMaxLimit: '5' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailureCount. # of failed tests. Default: 5.
#rerunMaxAttempts: '3' # string. Optional. Use when rerunFailedTests = true. Maximum # of attempts. Default: 3.
# Advanced execution options
#distributionBatchType: 'basedOnTestCases' # 'basedOnTestCases' | 'basedOnExecutionTime' | 'basedOnAssembly'. Batch tests. Default: basedOnTestCases.
#batchingBasedOnAgentsOption: 'autoBatchSize' # 'autoBatchSize' | 'customBatchSize'. Optional. Use when distributionBatchType = basedOnTestCases. Batch options. Default: autoBatchSize.
#customBatchSizeValue: '10' # string. Required when distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Number of tests per batch. Default: 10.
#batchingBasedOnExecutionTimeOption: 'autoBatchSize' # 'autoBatchSize' | 'customTimeBatchSize'. Optional. Use when distributionBatchType = basedOnExecutionTime. Batch options. Default: autoBatchSize.
#customRunTimePerBatchValue: '60' # string. Required when distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Running time (sec) per batch. Default: 60.
#dontDistribute: False # boolean. Replicate tests instead of distributing when multiple agents are used in the job. Default: False.
# Reporting options
#testRunTitle: # string. Test run title.
#platform: # string. Build platform.
#configuration: # string. Build configuration.
#publishRunAttachments: true # boolean. Upload test attachments. Default: true.
#donotPublishTestResults: false # boolean. Optional. Use when runInParallel = false. Disable publishing test results. Default: false.
#failOnMinTestsNotRun: False # boolean. Fail the task if a minimum number of tests are not run. Default: False.
#minimumExpectedTests: '1' # string. Optional. Use when failOnMinTestsNotRun = true. Minimum # of tests. Default: 1.
# Visual Studio Test v3
# Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2 and later).
- task: VSTest@3
inputs:
#azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection.
# Test selection
testSelector: 'testAssemblies' # 'testAssemblies' | 'testPlan' | 'testRun'. Required. Select tests using. Default: testAssemblies.
testAssemblyVer2: # string. Required when testSelector = testAssemblies. Test files.
#testPlan: # string. Required when testSelector = testPlan. Test plan.
#testSuite: # string. Required when testSelector = testPlan. Test suite.
#testConfiguration: # string. Required when testSelector = testPlan. Test configuration.
#tcmTestRun: '$(test.RunId)' # string. Optional. Use when testSelector = testRun. Test Run. Default: $(test.RunId).
searchFolder: '$(System.DefaultWorkingDirectory)' # string. Required. Search folder. Default: $(System.DefaultWorkingDirectory).
#resultsFolder: '$(Agent.TempDirectory)\TestResults' # string. Test results folder. Default: $(Agent.TempDirectory)\TestResults.
#testFiltercriteria: # string. Optional. Use when testSelector = testAssemblies. Test filter criteria.
#runOnlyImpactedTests: False # boolean. Optional. Use when testSelector = testAssemblies. Run only impacted tests. Default: False.
#runAllTestsAfterXBuilds: '50' # string. Optional. Use when testSelector = testAssemblies && runOnlyImpactedTests = true. Number of builds after which all tests should be run. Default: 50.
#uiTests: false # boolean. Test mix contains UI tests. Default: false.
# Execution options
#vstestLocationMethod: 'version' # 'version' | 'location'. Select test platform using. Default: version.
#vsTestVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | 'toolsInstaller'. Optional. Use when vstestLocationMethod = version. Test platform version. Default: latest.
#vstestLocation: # string. Optional. Use when vstestLocationMethod = location. Path to vstest.console.exe.
#runSettingsFile: # string. Settings file.
#overrideTestrunParameters: # string. Override test run parameters.
#pathtoCustomTestAdapters: # string. Path to custom test adapters.
#runInParallel: False # boolean. Run tests in parallel on multi-core machines. Default: False.
#runTestsInIsolation: False # boolean. Run tests in isolation. Default: False.
#codeCoverageEnabled: False # boolean. Code coverage enabled. Default: False.
#otherConsoleOptions: # string. Other console options.
#diagnosticsEnabled: false # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: false.
#collectDumpOn: 'onAbortOnly' # 'onAbortOnly' | 'always' | 'never'. Optional. Use when diagnosticsEnabled = true. Collect process dump and attach to test run report. Default: onAbortOnly.
#rerunFailedTests: False # boolean. Rerun failed tests. Default: False.
#rerunType: 'basedOnTestFailurePercentage' # 'basedOnTestFailurePercentage' | 'basedOnTestFailureCount'. Optional. Use when rerunFailedTests = true. Do not rerun if test failures exceed specified threshold. Default: basedOnTestFailurePercentage.
#rerunFailedThreshold: '30' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. % failure. Default: 30.
#rerunFailedTestCasesMaxLimit: '5' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailureCount. # of failed tests. Default: 5.
#rerunMaxAttempts: '3' # string. Optional. Use when rerunFailedTests = true. Maximum # of attempts. Default: 3.
# Advanced execution options
#distributionBatchType: 'basedOnTestCases' # 'basedOnTestCases' | 'basedOnExecutionTime' | 'basedOnAssembly'. Batch tests. Default: basedOnTestCases.
#batchingBasedOnAgentsOption: 'autoBatchSize' # 'autoBatchSize' | 'customBatchSize'. Optional. Use when distributionBatchType = basedOnTestCases. Batch options. Default: autoBatchSize.
#customBatchSizeValue: '10' # string. Required when distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Number of tests per batch. Default: 10.
#batchingBasedOnExecutionTimeOption: 'autoBatchSize' # 'autoBatchSize' | 'customTimeBatchSize'. Optional. Use when distributionBatchType = basedOnExecutionTime. Batch options. Default: autoBatchSize.
#customRunTimePerBatchValue: '60' # string. Required when distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Running time (sec) per batch. Default: 60.
#dontDistribute: False # boolean. Replicate tests instead of distributing when multiple agents are used in the job. Default: False.
# Reporting options
#testRunTitle: # string. Test run title.
#platform: # string. Build platform.
#configuration: # string. Build configuration.
#publishRunAttachments: true # boolean. Upload test attachments. Default: true.
#donotPublishTestResults: false # boolean. Optional. Use when runInParallel = false. Disable publishing test results. Default: false.
#failOnMinTestsNotRun: False # boolean. Fail the task if a minimum number of tests are not run. Default: False.
#minimumExpectedTests: '1' # string. Optional. Use when failOnMinTestsNotRun = true. Minimum # of tests. Default: 1.
入力
azureSubscription
-
Azure Resource Manager 接続
入力エイリアス: 。 。
ワークロードアイデンティティフェデレーションで設定したAzure Resource Managerサービス接続を指定し、統合テストで AzurePipelinesCredential を使用します。 詳細については、「統合テストで AzurePipelinesCredential を使用する
注
この入力では、ワークロード ID フェデレーションを使用するように構成された ARM サービス接続のみがサポートされます。
を使用してテストを選択する
。 必須。 使用できる値: (テスト アセンブリ)、 (テスト プラン)、 (テスト実行)。 既定値: 。
- テスト アセンブリ: テストを含む 1 つ以上のテスト アセンブリを指定します。 必要に応じて、特定のテストのみを選択するフィルター条件を指定できます。
- テスト計画: 自動テスト メソッドが関連付けられているテスト計画からテストを実行します。 テストをテスト ケースの作業項目に関連付ける方法の詳細については、「自動テストとテスト ケースの関連付け」を参照してください。
- テストの実行: テスト 計画からテストを実行する環境を設定する場合は、このオプション 使用。 このオプションは、継続的インテグレーション/継続的配置 (CI/CD) パイプラインでテストを実行する場合は使用しないでください。
テスト ファイルの
。 する場合に必要です。 既定値: 。
指定したファイルからテストを実行します。 順序付けされたテストと Web テストは、 ファイルと ファイルをそれぞれ指定することで実行できます。
.webtestを実行するには、Visual Studio 2017年アップデート4以降が必要です。 ファイル パスは、検索フォルダーに対する相対パスです。 この入力は、ミニマッチ パターンの複数行をサポートしています。
# Example
- task: VSTest@3
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
テスト計画の
。 する場合に必要です。
自動テスト ケースを含むテスト スイートを含むテスト計画を指定します。
テスト スイートの
。 する場合に必要です。
自動テスト ケースを含む 1 つ以上のテスト スイートを指定します。 テスト ケースの作業項目は、自動テスト メソッドに関連付ける必要があります。
テスト構成
。 する場合に必要です。
テスト構成を指定します。
テスト実行
。 任意。 するときに使用します。 既定値: 。
テスト計画から自動テスト実行をトリガーするときに使用するテスト実行ベースの選択 指定。 このオプションは、CI/CD パイプラインでのテストの実行には使用できません。
検索フォルダーの
。 必須。 既定値: 。
テスト アセンブリを検索するフォルダーを指定します。
テスト結果フォルダーの
。 既定値: 。
テスト結果を格納するフォルダーを指定します。 既定のディレクトリを使用すると、パイプラインの実行の最後にクリーンアップされます。 結果ディレクトリは、テストを実行する前に、 タスクの開始時に常にクリーンアップされます。 相対フォルダー パスが指定されている場合は、に対する相対パスと見なされます。
フィルター条件の をテストする
。 任意。 するときに使用します。
テスト アセンブリからテストをフィルター処理するための追加の条件を指定します。 たとえば、 と指定します。 を使用してフィルターを否定できます。 フィルターとオプションの詳細については、「 テスト リストの検索とフィルター処理」を参照してください。
コマンド ライン オプション について説明します。
影響を受けたテストのみを実行
。 任意。 するときに使用します。 既定値: 。
コードの変更を検証するために必要なテストを自動的に指定して実行します。 テスト影響分析の使用について説明します。
すべてのテストを実行するビルドの数
。 任意。 するときに使用します。 既定値: 。
すべてのテストを自動的に実行する前に実行するビルドの数を指定します。 テスト影響分析には、テスト ケースとソース コード間のマッピングが格納されます。 すべてのテストを定期的に実行して、マッピングを再生成することをお勧めします。
テスト ミックスに UI テストが含
。 既定値: 。
UI テストを実行するには、自動ログオンが有効になっている 対話型モード でエージェント 実行するように設定 確認します。 ビルド/リリースをキューに入れる前に、対話形式で実行するようにエージェントを設定する必要があります。 このチェック ボックスをオンにしても、エージェントは対話モードで自動的に構成されません。 このオプションは、障害を回避するためにエージェントを適切に構成するためのリマインダーとして機能します。 VS 2015および2017プールのホストされたWindowsエージェントを使ってUIテストを実行できます。
を使用してテスト プラットフォームを選択する
。 使用できる値: 、 (特定の場所)。 既定値: 。
使用するテスト プラットフォームを指定します。
テスト プラットフォームバージョンの
。 任意。 するときに使用します。 許可される値:latest、18.0(2026年Visual Studio)、17.0(2022 Visual Studio)、16.0(2019 Visual Studio)、15.0(2017 Visual Studio)、14.0(2015 Visual Studio)、toolsInstaller(ツールインストーラーによるインストール)。 既定値: 。
使用するVisual Studio Testのバージョンを指定します。 最新 指定した場合、この入力はインストールされている最新バージョン (許可される値の一覧から) を選択します。 エージェントでVisual Studioせずにテストを行うには、Install by tools installerオプションを使ってください。 NuGetからテストプラットフォームを取得するには、Visual Studio Test Platform Installerタスクを含めてください。
テスト プラットフォームバージョンの
。 任意。 するときに使用します。 許可される値:latest、17.0(2022 Visual Studio)、16.0(2019 Visual Studio)、15.0(2017 Visual Studio)、14.0(2015 Visual Studio)、toolsInstaller(ツールインストーラーによるインストール)。 既定値: 。
使用するVisual Studio Testのバージョンを指定します。 最新 指定した場合、この入力はインストールされている最新バージョン (許可される値の一覧から) を選択します。 エージェントでVisual Studioせずにテストを行うには、Install by tools installerオプションを使ってください。 NuGetからテストプラットフォームを取得するには、Visual Studio Test Platform Installerタスクを含めてください。
vstest.console.exeへのパスの
。 任意。 するときに使用します。
VSTest へのパスを指定します。
設定ファイルの
。
テストで使用する または ファイルへのパスを指定します。 Visual Studio 15.7以上のテストタイプでは、すべてのテストタイプでrunsettingsを使いましょう。 ファイルから ファイルへの 変換について詳しくは、こちらをご覧ください。
テスト実行パラメーター をオーバーライドする
。
ファイルの セクションまたは ファイルの セクションで定義されているパラメーターをオーバーライドします。 たとえば、 と指定します。
注:testsettingsファイルで指定されたプロパティは、Visual Studio 2017(アップデート4以降)を用いてTestContextからアクセス可能です。
カスタム テスト アダプターへのパス
。
カスタム テスト アダプターへのディレクトリ パスを指定します。 テスト アセンブリと同じフォルダーにあるアダプターが自動的に検出されます。
マルチコア マシンでテストを並列実行
。 既定値: 。
に設定すると、テストが並列で実行され、マシンの使用可能なコアが活用されます。 これにより、 ファイルで指定されている場合、 がオーバーライドされます。 テストを並列で実行する方法の詳細について説明します。
テストを分離 で実行する
。 既定値: 。
分離されたプロセスでテストを実行します。 これにより、vstest.console.exe テスト プロセスのエラーが少なくなる可能性がありますが、テストの実行速度が低下する可能性があります。 現在、このオプションは、マルチエージェント ジョブ設定で実行する場合は使用できません。
コード カバレッジが有効な
。 既定値: 。
テストの実行からコード カバレッジ情報を収集します。
その他のコンソール オプションの
。
vstest.console.exeに渡すことができるその他のコンソール オプション。
これらのオプションはサポートされておらず、エージェント ジョブの マルチエージェント並列 設定を使用してテストを実行する場合、テスト プラン またはテスト実行 オプションを使用してテストを実行する場合、またはカスタム バッチ処理オプションが選択されている場合 無視されます。 オプションは、代わりに設定ファイルを使用して指定できます。
Batch テストの
。 使用できる値: (テストとエージェントの数に基づく)、 (テストの過去の実行時間に基づく)、 (テスト アセンブリに基づく)。 既定値: 。
バッチはテストのグループです。 テストのバッチは、そのテストを同時に実行し、バッチの結果が発行されます。 タスクを実行するジョブが複数のエージェントを使用するように設定されている場合、各エージェントは、並列で実行するテストの使用可能なバッチを取得します。 バッチは次のように実行できます。
テストとエージェントの数に基づいて行います。 テストの実行に参加しているテストとエージェントの数に基づく単純なバッチ処理。
テストの過去の実行時間に基づいています。 このバッチ処理では、過去の実行時間を考慮して、各バッチの実行時間がほぼ等しいテストのバッチを作成します。
テスト アセンブリに基づいています。 アセンブリからのテストはバッチ処理されます。
Batch オプションの
。 任意。 するときに使用します。 使用できる値: (バッチ サイズを自動的に決定する)、 (バッチ サイズの指定)。 既定値: 。
テストの実行に参加しているテストとエージェントの数に基づいて、単純なバッチ処理を指定します。 バッチ サイズが自動的に決定されると、各バッチには テストが含まれます。 バッチ サイズが指定されている場合、各バッチには指定された数のテストが含まれます。
バッチ あたりのテスト数
。 する場合に必要です。 既定値: 。
バッチ サイズを指定します。
Batch オプションの
。 任意。 するときに使用します。 使用できる値: (バッチ時間を自動的に決定する)、 (バッチあたりの実行時間を指定します)。 既定値: 。
このバッチ処理では、過去の実行時間を考慮して、各バッチの実行時間がほぼ等しいテストのバッチを作成します。 クイック実行テストはバッチ処理されますが、実行時間の長いテストは別のバッチに属している可能性があります。 このオプションをマルチエージェント ジョブ設定と共に使用すると、テスト時間の合計が最小に短縮されます。
バッチ あたりの実行時間 (秒)
。 する場合に必要です。 既定値: 。
バッチあたりの実行時間 (秒単位) を指定します。
ジョブ で複数のエージェントが使用されている場合に配布するのではなく、テストをレプリケートする
。 既定値: 。
このオプションを選択しても、タスクがマルチエージェント ジョブで実行されている場合、エージェント間でテストが分散されることはありません。 選択した各テストが各エージェントで繰り返されます。 このオプションは、並列処理なしで、または複数構成オプションを使用して実行するようにエージェント ジョブが構成されている場合は適用されません。
テストの実行タイトル
。
テスト実行の名前を指定します。
Build プラットフォーム
。
テストを報告するビルド プラットフォームを指定します。 ビルド タスクでプラットフォームの変数を定義した場合は、この入力でその変数を使用します。
ビルド構成の
。
テストを報告するビルド構成を指定します。 ビルド タスクで構成用の変数を定義した場合は、この入力で変数を使用します。
テスト添付ファイルのアップロード
。 既定値: 。
実行レベルの添付ファイルの発行をオプトインまたはオプトアウトします。
テスト結果の公開を無効にする
。 任意。 するときに使用します。 既定値: 。
このオプションがオンになっている場合、テスト結果はこのタスクの一部として公開されません。 代わりに、テスト結果の公開タスクを使用してください。
最小数のテストが実行されていない場合は、タスクを失敗させます。
。 既定値: 。
最小数のテストが実行されていない場合、タスクは失敗します。 これは、タスク入力または基になるテスト アダプターの依存関係に対する変更によって、目的のテストのサブセットのみが検出される場合に便利です。
最小テスト数
。 任意。 するときに使用します。 既定値: 。
タスクを成功させるために実行するテストの最小数を指定します。 実行されたテストの合計数は、成功したテスト、失敗したテスト、および中止されたテストの合計として計算されます。
致命的な障害が発生した場合の高度な診断を収集
。 既定値: 。
診断データを収集して、テストクラッシュなどの致命的な障害をトラブルシューティングします。 このオプションをオンにすると、シーケンス XML ファイルが生成され、テスト実行にアタッチされます。 シーケンス ファイルには、テストが実行されたシーケンスに関する情報が含まれているため、潜在的な原因テストを特定できます。
プロセス ダンプを収集し、テスト実行レポートにアタッチ
。 任意。 するときに使用します。 使用できる値: (中止時のみ)、、。 既定値: 。
詳細な分析に使用できるミニ ダンプを収集します。
- onAbortOnly - ミニ ダンプは、テストの実行が中止されたときにのみ収集されます。
- Always - テストの実行が完了したかどうかにかかわらず、ミニ ダンプは常に収集されます。
- しない - テストの実行が完了したかどうかに関係なく、ミニ ダンプは収集されません。
失敗したテスト を再実行する
。 既定値: 。
失敗したテストは、合格するまで、または最大試行回数に達するまで再実行します。
テストの失敗が指定されたしきい値を超えた場合は再実行
。 任意。 するときに使用します。 使用できる値: (% 失敗)、 (失敗したテストの数)。 既定値: 。
エラー率が指定したしきい値を超えたときにテストを再実行しないようにします。 これは、環境の問題が大規模な障害につながる場合に適用されます。 失敗の割合または失敗したテストの数をしきい値として指定できます。
% エラーの
。 任意。 するときに使用します。 既定値: 。
失敗したテスト・ケースの割合が指定したしきい値を超えた場合に、テストの再実行を回避します。 これは、環境の問題が大規模な障害につながる場合に適用されます。
失敗したテストの #
。 任意。 するときに使用します。 既定値: 。
失敗したテストケースの数が指定した制限を超えた場合にテストを再実行しないようにします。 これは、環境の問題が大規模な障害につながる場合に適用されます。
最大試行回数
。 任意。 するときに使用します。 既定値: 。
失敗したテストを再試行する最大回数を指定します。 試行の最大数に達する前にテストが成功した場合、再度再実行されることはありません。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
なし。
注釈
このタスクを使って、Visual Studio Testランナーを使ってユニットテストや機能テスト(Selenium、Appium、Coded UIテストなど)を実行してください。 MSTestベースのテストに加え、xUnit、NUnit、ChutzpahなどVisual Studioテストアダプターを搭載したテストフレームワークも実行可能です。
.runsettingsファイルで適切なターゲットフレームワーク値を指定することで、ターゲット.NETコアフレームワークを実行できるテストです。
テストは、このタスクのバージョン 2 を使用して複数のエージェントに配布できます。 詳細については、Visual Studio Test task を使って並列テストを実行することを参照してください。
前提条件を確認する
Windowsのセルフホストエージェントを使用している場合、以下の前提条件をインストールしなければなりません:
- .NET Framework 4.6.2 またはそれ以降のバージョン
要求
エージェントには、次の機能が必要です。
vstest を する
vstest の需要は、次の 2 つの方法で満たすことができます。
- Visual Studioはエージェントマシンにインストールされています。
- パイプラインの定義にあるVisual Studioテストプラットフォームインストーラータスクを用いて。
TestCase をデータ ソースとして使用するテストを実行するにはどうすればよいですか?
データ ソースとして TestCase を使用する自動テストを実行するには、次のものが必要です。
- エージェントマシンにはVisual Studio 2017.6以上のソフトが必要です。 Visual Studioのテストプラットフォームインストーラータスクは、TestCaseをデータソースとして使用するテストを実行することはできません。
- スコープ "Work Items (full)" に対して承認されている PAT を作成します。
- 前の手順で作成した PAT に値を設定して、 というセキュリティで保護されたビルドまたはリリース変数を追加します。
このタスクをデータ駆動型(パラメータ付きテスト)に使えますか?
Yes. このタスクは静的パラメータを持つデータ駆動型テストのみをサポートし、カスタムdisplayNameはサポートしません。 パイプラインに環境変数を追加する必要があります:
- MsTestの場合:
- xUnitの場合:
- nUnitの場合:
パラメータ化テスト用の環境変数VSTest@3スクリーンショットです。
いくつかのタスクオプションでデータ駆動型のxUnit、NUnit、およびMSTestテストを実行するときに問題が発生します。 既知の制限はありますか?
xUnit、NUnit、および MSTest テスト フレームワークを使用するデータ ドリブン テストには、いくつかの既知の制限があり、次のタスク オプションでは使用 できません 。
- MsTest、xUnit、nUnitテストの失敗テストの再実行は、静的パラメータを含むデータ駆動型テストで動作します。
- 複数のエージェントに対するテストの配布とバッチ処理オプション。
- 影響分析をテストします。
上記の制限は、これらのテスト フレームワークのアダプターがデータドリブン テストを検出して報告する方法が原因です。
VSTest タスクは、一度に複数のターゲット フレームワークを対象とするテストの実行をサポートしていますか?
はい。バージョン 以降、VSTest では、一度に複数のターゲット フレームワークを対象とするテストの実行がサポートされます。 それ以前は、VSTest プラットフォーム 側からの制限のため、これは不可能でした。
複数のターゲットフレームワークに属するテストを実行したい場合は、Visual Studio Test Platform Installerで対応のVSTestをインストールし、vsTestVersionをtoolsInstallerに設定する必要があります。
テスト結果の発行中に、次のエラーが表示されます。テスト結果の発行に失敗しました:無効な優先度が指定されましたか?
このエラーは、いずれかのテスト メソッドの優先度が 255 を超える場合に発生し、コード内のテスト メソッドの優先順位を修正して、テストを再度実行します。 生成された trx ファイルを確認して、優先度が 255 を超えるすべてのテストを確認できます。
統合テストで AzurePipelinesCredential を使用する
.NET、C++、Go、Java、JavaScript、Python
多くの顧客は、他のタスクから呼び出された統合テストでAzure SDKクライアントライブラリを使用しています。
connectedServiceNameプロパティをワークロードアイデンティティフェデレーションで設定したAzureサービス接続に設定できます。 では、SYSTEM_ACCESSTOKEN を設定する必要があります。
次の例は、 タスクの 入力を示しています。 と の使用方法も同様です。
- task: DotNetCoreCLI@2
inputs:
command: 'run'
connectedServiceName: <Azure service connection configured with workload identity federation>
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
AzurePipelinesCredentialの詳細については、Improve security posure in Azure service connections with AzurePipelinesCredentialをご覧ください。
要求事項
| 要件 | 説明 |
|---|---|
| パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
| 実行日 | エージェント、DeploymentGroup |
| の需要 | セルフホステッド エージェントには、このタスクを使用するジョブを実行するための 次の 要求に一致する 機能 が必要です。 |
| 機能 | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
| コマンドの制限 | [任意] |
| 設定可能な変数 | [任意] |
| エージェントのバージョン | 2.144.0 以上 |
| タスク カテゴリ | テスト |