このタスクを使用して、Visual Studio テスト (VSTest) ランナーを使用して単体テストと機能テスト (Selenium、Appium、コード化された UI テストなど) を実行します。 Visual Studio テスト アダプターを持つテスト フレームワークを実行できます。 フレームワークの例としては、MSTest、xUnit、NUnit、Chutzpah (QUnit、Mocha、および Jasmine を使用する JavaScript テスト用) などがあります。テストは、このタスクを使用して複数のエージェントに配布できます。
注
このタスクには新しいバージョンがあります。 VSTest@3 はタスクの最新バージョンであり、パイプラインで使用する必要があります。
注
VSTest Azure タスクは VSTest プラットフォームに固有です。 新しい Microsoft.Testing.Platform (MTP) はサポートされていません。
構文
# Visual Studio Test v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: VSTest@2
inputs:
# 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.
#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 v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: VSTest@2
inputs:
# 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' | '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.
#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.
入力
testSelector
-
を使用してテストを選択する
string
。 必須。 使用できる値: testAssemblies
(テスト アセンブリ)、testPlan
(テスト プラン)、testRun
(テスト実行)。 既定値: testAssemblies
.
- テスト アセンブリ: テストを含む 1 つ以上のテスト アセンブリを指定します。 必要に応じて、特定のテストのみを選択するフィルター条件を指定できます。
- テスト計画: 自動テスト メソッドが関連付けられているテスト計画からテストを実行します。 テストをテスト ケースの作業項目に関連付ける方法の詳細については、「自動テストとテスト ケースの関連付け」を参照してください。
- テストの実行: テスト 計画からテストを実行する環境を設定する場合は、このオプション 使用。 このオプションは、継続的インテグレーション/継続的配置 (CI/CD) パイプラインでテストを実行する場合は使用しないでください。
testAssemblyVer2
-
テスト ファイルの
string
。
testSelector = testAssemblies
する場合に必要です。 既定値: **\bin\**\*test.dll\n**\bin\**\*tests.dll
.
指定したファイルからテストを実行します。 順序付けされたテストと Web テストは、.orderedtest
ファイルと .webtest
ファイルをそれぞれ指定することで実行できます。
.webtest
を実行するには、Visual Studio 2017 Update 4 以降が必要です。 ファイル パスは、検索フォルダーに対する相対パスです。 この入力は、ミニマッチ パターンの複数行をサポートしています。
# Example
- task: VSTest@2
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
testAssemblyVer2
-
テスト ファイルの
string
。
testSelector = testAssemblies
する場合に必要です。 既定値: **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**
.
指定したファイルからテストを実行します。 順序付けされたテストと Web テストは、.orderedtest
ファイルと .webtest
ファイルをそれぞれ指定することで実行できます。
.webtest
を実行するには、Visual Studio 2017 Update 4 以降が必要です。 ファイル パスは、検索フォルダーに対する相対パスです。 この入力は、ミニマッチ パターンの複数行をサポートしています。
# Example
- task: VSTest@2
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
testPlan
-
テスト計画の
string
。
testSelector = testPlan
する場合に必要です。
自動テスト ケースを含むテスト スイートを含むテスト計画を指定します。
testSuite
-
テスト スイートの
string
。
testSelector = testPlan
する場合に必要です。
自動テスト ケースを含む 1 つ以上のテスト スイートを指定します。 テスト ケースの作業項目は、自動テスト メソッドに関連付ける必要があります。
testConfiguration
-
テスト構成
string
。
testSelector = testPlan
する場合に必要です。
テスト構成を指定します。
tcmTestRun
-
テスト実行
string
。 任意
testSelector = testRun
するときに使用します。 既定値: $(test.RunId)
.
テスト計画から自動テスト実行をトリガーするときに使用するテスト実行ベースの選択 指定。 このオプションは、CI/CD パイプラインでのテストの実行には使用できません。
searchFolder
-
検索フォルダーの
string
。 必須。 既定値: $(System.DefaultWorkingDirectory)
.
テスト アセンブリを検索するフォルダーを指定します。
resultsFolder
-
テスト結果フォルダーの
string
。 既定値: $(Agent.TempDirectory)\TestResults
.
テスト結果を格納するフォルダーを指定します。 既定のディレクトリを使用すると、パイプラインの実行の最後にクリーンアップされます。 結果ディレクトリは、テストを実行する前に、vstest
タスクの開始時に常にクリーンアップされます。 相対フォルダー パスが指定されている場合は、$(Agent.TempDirectory)
に対する相対パスと見なされます。
testFiltercriteria
-
フィルター条件の をテストする
string
。 任意
testSelector = testAssemblies
するときに使用します。
テスト アセンブリからテストをフィルター処理するための追加の条件を指定します。 (例: Priority=1|Name=MyTestMethod
)。 コマンド ライン オプション について説明します。
runOnlyImpactedTests
-
影響を受けたテストのみを実行
boolean
。 任意
testSelector = testAssemblies
するときに使用します。 既定値: False
.
コードの変更を検証するために必要なテストを自動的に指定して実行します。 テスト影響分析の使用について説明します。
runAllTestsAfterXBuilds
-
すべてのテストを実行するビルドの数
string
。 任意
testSelector = testAssemblies && runOnlyImpactedTests = true
するときに使用します。 既定値: 50
.
すべてのテストを自動的に実行する前に実行するビルドの数を指定します。 テスト影響分析には、テスト ケースとソース コード間のマッピングが格納されます。 すべてのテストを定期的に実行して、マッピングを再生成することをお勧めします。
uiTests
-
テスト ミックスに UI テストが含
boolean
。 既定値: false
.
UI テストを実行するには、自動ログオンが有効になっている 対話型モード でエージェント 実行するように設定 確認します。 ビルド/リリースをキューに入れる前に、対話形式で実行するようにエージェントを設定する必要があります。 このチェック ボックスをオンにしても、エージェントは対話モードで自動的に構成されません。 このオプションは、障害を回避するためにエージェントを適切に構成するためのリマインダーとして機能します。 VS 2015 および 2017 プールのホストされた Windows エージェントを使用して、UI テストを実行できます。
vstestLocationMethod
-
を使用してテスト プラットフォームを選択する
string
。 使用できる値: version
、___location
(特定の場所)。 既定値: version
.
使用するテスト プラットフォームを指定します。
vsTestVersion
-
テスト プラットフォームバージョンの
string
。 任意
vstestLocationMethod = version
するときに使用します。 使用できる値: latest
、17.0
(Visual Studio 2022)、16.0
(Visual Studio 2019)、15.0
(Visual Studio 2017)、14.0
(Visual Studio 2015)、toolsInstaller
(ツール インストーラーによってインストール)。 既定値: latest
.
使用する Visual Studio テストのバージョンを指定します。 最新 指定した場合、この入力はインストールされている最新バージョン (許可される値の一覧から) を選択します。 エージェントで Visual Studio を必要とせずにテストを実行するには、[ツール インストーラーによってインストール オプションを使用します。 NuGet からテスト プラットフォームを取得するには、Visual Studio Test Platform Installer タスクを必ず含めるようにしてください。
vsTestVersion
-
テスト プラットフォームバージョンの
string
。 任意
vstestLocationMethod = version
するときに使用します。 使用できる値: latest
、16.0
(Visual Studio 2019)、15.0
(Visual Studio 2017)、14.0
(Visual Studio 2015)、toolsInstaller
(ツール インストーラーによってインストール)。 既定値: latest
.
使用する Visual Studio テストのバージョンを指定します。 最新 指定した場合、この入力はインストールされている最新バージョン (許可される値の一覧から) を選択します。 エージェントで Visual Studio を必要とせずにテストを実行するには、[ツール インストーラーによってインストール オプションを使用します。 NuGet からテスト プラットフォームを取得するには、Visual Studio Test Platform Installer タスクを必ず含めるようにしてください。
vstest.console.exeへのパスの vstestLocation
-
string
。 任意
vstestLocationMethod = ___location
するときに使用します。
VSTest へのパスを指定します。
runSettingsFile
-
設定ファイルの
string
。
テストで使用する runsettings
または testsettings
ファイルへのパスを指定します。 Visual Studio 15.7 以降では、すべてのテストの種類に runsettings
を使用します。
.testsettings
ファイルから .runsettings
ファイルへの 変換について詳しくは、こちらをご覧ください。
overrideTestrunParameters
-
テスト実行パラメーター をオーバーライドする
string
。
TestRunParameters
ファイルの runsettings
セクションまたは Properties
ファイルの testsettings
セクションで定義されているパラメーターをオーバーライドします。 (例: -key1 value1 -key2 value2
)。
プロパティは、Visual Studio 2017 (更新プログラム 4 以降) を使用して testsettings
経由でアクセスできます。
pathtoCustomTestAdapters
-
カスタム テスト アダプターへのパス
string
。
カスタム テスト アダプターへのディレクトリ パスを指定します。 テスト アセンブリと同じフォルダーにあるアダプターが自動的に検出されます。
runInParallel
-
マルチコア マシンでテストを並列実行
boolean
。 既定値: False
.
true
に設定すると、テストが並列で実行され、マシンの使用可能なコアが活用されます。 これにより、MaxCpuCount
ファイルで指定されている場合、runsettings
がオーバーライドされます。
テストを並列で実行する方法の詳細について説明します。
runTestsInIsolation
-
テストを分離 で実行する
boolean
。 既定値: False
.
分離されたプロセスでテストを実行します。 これにより、vstest.console.exe テスト プロセスのエラーが少なくなる可能性がありますが、テストの実行速度が低下する可能性があります。 現在、このオプションは、マルチエージェント ジョブ設定で実行する場合は使用できません。
codeCoverageEnabled
-
コード カバレッジが有効な
boolean
。 既定値: False
.
テストの実行からコード カバレッジ情報を収集します。
otherConsoleOptions
-
その他のコンソール オプションの
string
。
vstest.console.exeに渡すことができるその他のコンソール オプション。
これらのオプションはサポートされておらず、エージェント ジョブの マルチエージェント並列 設定を使用してテストを実行する場合、テスト プラン またはテスト実行 オプションを使用してテストを実行する場合、またはカスタム バッチ処理オプションが選択されている場合 無視されます。 オプションは、代わりに設定ファイルを使用して指定できます。
distributionBatchType
-
Batch テストの
string
。 使用できる値: basedOnTestCases
(テストとエージェントの数に基づく)、basedOnExecutionTime
(テストの過去の実行時間に基づく)、basedOnAssembly
(テスト アセンブリに基づく)。 既定値: basedOnTestCases
.
バッチはテストのグループです。 テストのバッチは、そのテストを同時に実行し、バッチの結果が発行されます。 タスクを実行するジョブが複数のエージェントを使用するように設定されている場合、各エージェントは、並列で実行するテストの使用可能なバッチを取得します。 バッチは次のように実行できます。
テストとエージェントの数に基づいて行います。 テストの実行に参加しているテストとエージェントの数に基づく単純なバッチ処理。
テストの過去の実行時間に基づいています。 このバッチ処理では、過去の実行時間を考慮して、各バッチの実行時間がほぼ等しいテストのバッチを作成します。
テスト アセンブリに基づいています。 アセンブリからのテストはバッチ処理されます。
batchingBasedOnAgentsOption
-
Batch オプションの
string
。 任意
distributionBatchType = basedOnTestCases
するときに使用します。 使用できる値: autoBatchSize
(バッチ サイズを自動的に決定する)、customBatchSize
(バッチ サイズの指定)。 既定値: autoBatchSize
.
テストの実行に参加しているテストとエージェントの数に基づいて、単純なバッチ処理を指定します。 バッチ サイズが自動的に決定されると、各バッチには (total number of tests / number of agents)
テストが含まれます。 バッチ サイズが指定されている場合、各バッチには指定された数のテストが含まれます。
customBatchSizeValue
-
バッチ あたりのテスト数
string
。
distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize
する場合に必要です。 既定値: 10
.
バッチ サイズを指定します。
batchingBasedOnExecutionTimeOption
-
Batch オプションの
string
。 任意
distributionBatchType = basedOnExecutionTime
するときに使用します。 使用できる値: autoBatchSize
(バッチ時間を自動的に決定する)、customTimeBatchSize
(バッチあたりの実行時間を指定します)。 既定値: autoBatchSize
.
このバッチ処理では、過去の実行時間を考慮して、各バッチの実行時間がほぼ等しいテストのバッチを作成します。 クイック実行テストはバッチ処理されますが、実行時間の長いテストは別のバッチに属している可能性があります。 このオプションをマルチエージェント ジョブ設定と共に使用すると、テスト時間の合計が最小に短縮されます。
customRunTimePerBatchValue
-
バッチ あたりの実行時間 (秒)
string
。
distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize
する場合に必要です。 既定値: 60
.
バッチあたりの実行時間 (秒単位) を指定します。
dontDistribute
-
ジョブ で複数のエージェントが使用されている場合に配布するのではなく、テストをレプリケートする
boolean
。 既定値: False
.
このオプションを選択しても、タスクがマルチエージェント ジョブで実行されている場合、エージェント間でテストが分散されることはありません。 選択した各テストが各エージェントで繰り返されます。 このオプションは、並列処理なしで、または複数構成オプションを使用して実行するようにエージェント ジョブが構成されている場合は適用されません。
testRunTitle
-
テストの実行タイトル
string
。
テスト実行の名前を指定します。
platform
-
Build プラットフォーム
string
。
テストを報告するビルド プラットフォームを指定します。 ビルド タスクでプラットフォームの変数を定義した場合は、この入力でその変数を使用します。
ビルド構成の configuration
-
string
。
テストを報告するビルド構成を指定します。 ビルド タスクで構成用の変数を定義した場合は、この入力で変数を使用します。
publishRunAttachments
-
テスト添付ファイルのアップロード
boolean
。 既定値: true
.
実行レベルの添付ファイルの発行をオプトインまたはオプトアウトします。
failOnMinTestsNotRun
-
最小数のテストが実行されていない場合は、タスクを失敗させます。
boolean
。 既定値: False
.
最小数のテストが実行されていない場合、タスクは失敗します。 これは、タスク入力または基になるテスト アダプターの依存関係に対する変更によって、目的のテストのサブセットのみが検出される場合に便利です。
minimumExpectedTests
-
最小テスト数
string
。 任意
failOnMinTestsNotRun = true
するときに使用します。 既定値: 1
.
タスクを成功させるために実行するテストの最小数を指定します。 実行されたテストの合計数は、成功したテスト、失敗したテスト、および中止されたテストの合計として計算されます。
diagnosticsEnabled
-
致命的な障害が発生した場合の高度な診断を収集
boolean
。 既定値: false
.
診断データを収集して、テストクラッシュなどの致命的な障害をトラブルシューティングします。 このオプションをオンにすると、シーケンス XML ファイルが生成され、テスト実行にアタッチされます。 シーケンス ファイルには、テストが実行されたシーケンスに関する情報が含まれているため、潜在的な原因テストを特定できます。
collectDumpOn
-
プロセス ダンプを収集し、テスト実行レポートにアタッチ
string
。 任意
diagnosticsEnabled = true
するときに使用します。 使用できる値: onAbortOnly
(中止時のみ)、always
、never
。 既定値: onAbortOnly
.
詳細な分析に使用できるミニ ダンプを収集します。
- onAbortOnly - ミニ ダンプは、テストの実行が中止されたときにのみ収集されます。
- Always - テストの実行が完了したかどうかにかかわらず、ミニ ダンプは常に収集されます。
- しない - テストの実行が完了したかどうかに関係なく、ミニ ダンプは収集されません。
rerunFailedTests
-
失敗したテスト を再実行する
boolean
。 既定値: False
.
失敗したテストが成功するまで、または試行の最大数に達するまで再実行します。
rerunType
-
テストの失敗が指定されたしきい値を超えた場合は再実行
string
。 任意
rerunFailedTests = true
するときに使用します。 使用できる値: basedOnTestFailurePercentage
(% 失敗)、basedOnTestFailureCount
(失敗したテストの数)。 既定値: basedOnTestFailurePercentage
.
エラー率が指定したしきい値を超えたときにテストを再実行しないようにします。 これは、環境の問題が大規模な障害につながる場合に適用されます。 失敗の割合または失敗したテストの数をしきい値として指定できます。
rerunFailedThreshold
-
% エラーの
string
。 任意
rerunFailedTests = true && rerunType = basedOnTestFailurePercentage
するときに使用します。 既定値: 30
.
失敗したテスト ケースの割合が指定したしきい値を超えた場合に、テストの再実行を回避します。 これは、環境の問題が大規模な障害につながる場合に適用されます。
失敗したテストの rerunFailedTestCasesMaxLimit
- #
string
。 任意
rerunFailedTests = true && rerunType = basedOnTestFailureCount
するときに使用します。 既定値: 5
.
失敗したテスト ケースの数が指定した制限を超えた場合に、テストの再実行を回避します。 これは、環境の問題が大規模な障害につながる場合に適用されます。
rerunMaxAttempts
-
最大試行回数
string
。 任意
rerunFailedTests = true
するときに使用します。 既定値: 3
.
失敗したテストを再試行する最大回数を指定します。 試行の最大数に達する前にテストが成功した場合、再度再実行されることはありません。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
なし。
注釈
注
このタスクには新しいバージョンがあります。 VSTest@3 はタスクの最新バージョンであり、パイプラインで使用する必要があります。
このタスクを使用して、Visual Studio テスト ランナーを使用して単体テストと機能テスト (Selenium、Appium、コード化された UI テストなど) を実行します。 MSTest ベースのテストと共に、Visual Studio テスト アダプターを持つテスト フレームワーク (xUnit、NUnit、Chutzpah など) も実行できます。
.runsettings ファイルで適切なターゲット フレームワーク値を指定することで、ターゲット .NET Core フレームワークを実行できることをテストします。
テストは、このタスクのバージョン 2 を使用して複数のエージェントに配布できます。 詳細については、「Visual Studio テスト タスクを使用してテストを並列で実行する」を参照してください。
前提条件を確認する
Windows セルフホステッド エージェントを使用している場合は、この前提条件をインストールする必要があります。
- .NET Framework 4.6.2 以降のバージョンを する
要求
エージェントには、次の機能が必要です。
vstest を する
vstest の需要は、次の 2 つの方法で満たすことができます。
- Visual Studio がエージェント コンピューターにインストールされます。
- パイプライン定義で Visual Studio Test Platform Installer タスク を使用します。
TestCase をデータ ソースとして使用するテストを実行するにはどうすればよいですか?
データ ソースとして TestCase を使用する自動テストを実行するには、次のものが必要です。
- エージェント コンピューター上に Visual Studio 2017.6 以降が必要です。 Visual Studio Test Platform Installer タスクを使用して、TestCase をデータ ソースとして使用するテストを実行することはできません。
- スコープ "Work Items (full)" に対して承認されている PAT を作成します。
- 前の手順で作成した PAT に値を設定して、
Test.TestCaseAccessToken
というセキュリティで保護されたビルドまたはリリース変数を追加します。
一部のタスク オプションを使用してデータドリブン xUnit テストと NUnit テストを実行するときに問題が発生しています。 既知の制限はありますか?
xUnit および NUnit テスト フレームワークを使用するデータドリブン テストには、いくつかの既知の制限事項があり、次のタスク オプションでは使用できません。
- 失敗したテストを再実行します。
- 複数のエージェントに対するテストの配布とバッチ処理オプション。
- 影響分析をテストします。
上記の制限は、これらのテスト フレームワークのアダプターがデータドリブン テストを検出して報告する方法が原因です。
VSTest タスクは、一度に複数のターゲット フレームワークを対象とするテストの実行をサポートしていますか?
はい。バージョン 17.3
以降、VSTest では、一度に複数のターゲット フレームワークを対象とするテストの実行がサポートされます。
それ以前は、VSTest プラットフォーム 側からの制限のため、これは不可能でした。
複数のターゲット フレームワークに属するテストを実行する場合は、Visual Studio Test Platform Installer を使用して互換性のあるバージョンの VSTest インストールし、vsTestVersion
を toolsInstaller
に設定して使用する必要があります。
テスト結果の発行中に、次のエラーが表示されます。テスト結果の発行に失敗しました:無効な優先度が指定されましたか?
このエラーは、いずれかのテスト メソッドの優先度が 255 を超える場合に発生し、コード内のテスト メソッドの優先順位を修正して、テストを再度実行します。 生成された trx ファイルを確認して、優先度が 255 を超えるすべてのテストを確認できます。