VSTest@3 - Visual Studio 테스트 v3 작업
이 작업을 사용하여 VSTest(Visual Studio Test) 실행기를 사용하여 단위 및 기능 테스트(Selenium, Appium, 코딩된 UI 테스트 등)를 실행합니다. Visual Studio 테스트 어댑터가 있는 테스트 프레임워크를 실행할 수 있습니다. 예제 프레임워크는 MSTest, xUnit, NUnit, Chutzpah(QUnit, Mocha 및 Jasmine를 사용하는 JavaScript 테스트용) 등입니다. 이 작업을 사용하여 여러 에이전트에 테스트를 배포할 수 있습니다.
메모
VSTest@3 작업의 최신 버전이며 파이프라인에서 사용해야 합니다.
통사론
# 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.
#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.
입력
Azure Resource Manager 연결
입력 별칭: ConnectedServiceName
.
string
.
통합 테스트에서 AzurePipelinesCredential 사용하도록 워크로드 ID 페더레이션으로 구성된 Azure Resource Manager 서비스 연결을 지정합니다. 자세한 내용은 통합 테스트AzurePipelinesCredential 사용
메모
이 입력은 워크로드 ID 페더레이션을 사용하도록 구성된 ARM 서비스 연결만 지원합니다.
testSelector
-
사용하여 테스트 선택
string
. 필수. 허용되는 값: testAssemblies
(테스트 어셈블리), testPlan
(테스트 계획), testRun
(테스트 실행). 기본값: testAssemblies
.
- 테스트 어셈블리: 테스트를 포함하는 하나 이상의 테스트 어셈블리를 지정합니다. 필요에 따라 필터 조건을 지정하여 특정 테스트만 선택할 수 있습니다.
-
테스트 계획: 연결된 자동화된 테스트 방법이 있는 테스트 계획에서 테스트를 실행합니다. 테스트를 테스트 사례 작업 항목과 연결하는 방법에 대한 자세한 내용은테스트 사례와 자동화된 테스트 연결
참조하세요. - 테스트 실행:테스트 계획테스트를 실행하도록 환경을 설정할 때 이 옵션을 사용합니다. CI/CD(연속 통합/지속적인 배포) 파이프라인에서 테스트를 실행할 때는 이 옵션을 사용하면 안 됩니다.
testAssemblyVer2
-
테스트 파일
string
.
testSelector = testAssemblies
때 필요합니다. 기본값: **\bin\**\*test.dll\n**\bin\**\*tests.dll
.
지정된 파일에서 테스트를 실행합니다. 순서가 지정된 테스트 및 웹 테스트는 각각 .orderedtest
및 .webtest
파일을 지정하여 실행할 수 있습니다.
.webtest
실행하려면 Visual Studio 2017 업데이트 4 이상이 필요합니다. 파일 경로는 검색 폴더를 기준으로 합니다. 이 입력은여러 줄의
# Example
- task: VSTest@3
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
testPlan
-
테스트 계획
string
.
testSelector = testPlan
때 필요합니다.
자동화된 테스트 사례가 있는 테스트 도구 모음을 포함하는 테스트 계획을 지정합니다.
testSuite
-
테스트 도구 모음
string
.
testSelector = testPlan
때 필요합니다.
자동화된 테스트 사례를 포함하는 하나 이상의 테스트 도구 모음을 지정합니다. 테스트 사례 작업 항목은 자동화된 테스트 메서드연결해야 합니다.
testConfiguration
-
테스트 구성
string
.
testSelector = testPlan
때 필요합니다.
테스트 구성을 지정합니다.
tcmTestRun
-
테스트 실행
string
. 선택적.
testSelector = testRun
때 사용합니다. 기본값: $(test.RunId)
.
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 테스트를 실행하려면 Autologon 사용하도록 설정된 대화형 모드 에이전트가 실행되도록 설정되어 있는지 확인합니다. 에이전트를 대화형으로 실행하도록 설정하는 작업은 빌드/릴리스를 큐에 대기하기 전에 수행해야 합니다. 이 확인란을 선택하면 대화형 모드에서 에이전트가 자동으로 구성되지 않습니다. 이 옵션은 오류를 방지하기 위해 에이전트를 적절하게 구성하는 미리 알림 역할을 합니다. 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 Test의 버전을 지정합니다. 최신 지정한 경우 이 입력은 설치된 최신 버전(허용된 값 목록에서)을 선택합니다. 에이전트에서 Visual Studio를 필요로 하지 않고 테스트를 실행하려면 도구 설치 관리자가 설치한 옵션을 사용합니다. NuGet에서 테스트 플랫폼을 획득하려면 Visual Studio 테스트 플랫폼 설치 관리자 작업을 포함해야 합니다.
vstest.console.exe 경로
string
. 선택적.
vstestLocationMethod = location
때 사용합니다.
VSTest의 경로를 지정합니다.
runSettingsFile
-
설정 파일
string
.
테스트에 사용할 runsettings
또는 testsettings
파일의 경로를 지정합니다. Visual Studio 15.7 이상의 경우 모든 테스트 형식에 runsettings
사용합니다.
overrideTestrunParameters
-
테스트 실행 매개 변수 재정의
string
.
runsettings
파일의 TestRunParameters
섹션 또는 testsettings
파일의 Properties
섹션에 정의된 매개 변수를 재정의합니다. 예: -key1 value1 -key2 value2
.
참고: testsettings
파일에 지정된 속성은 Visual Studio 2017(업데이트 4 이상)을 사용하여 TestContext
통해 액세스할 수 있습니다.
사용자 지정 테스트 어댑터 대한
string
.
사용자 지정 테스트 어댑터의 디렉터리 경로를 지정합니다. 테스트 어셈블리와 동일한 폴더에 있는 어댑터는 자동으로 검색됩니다.
runInParallel
-
다중 코어 컴퓨터에서 병렬로 테스트 실행
boolean
. 기본값: False
.
true
설정하면 테스트가 병렬로 실행되고 컴퓨터의 사용 가능한 코어를 활용합니다.
runsettings
파일에 지정된 경우 MaxCpuCount
재정의합니다.
테스트가 병렬실행되는 방법에 대해 자세히 알아봅니다.
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
-
빌드 플랫폼
string
.
테스트를 보고할 빌드 플랫폼을 지정합니다. 빌드 작업에서 플랫폼에 대한 변수를 정의한 경우 이 입력과 함께 사용합니다.
빌드 구성
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 - 테스트 실행이 완료되었는지 여부에 관계없이 항상 미니 덤프가 수집됩니다.
- 없음 - 테스트 실행이 완료되었는지 여부에 관계없이 미니 덤프가 수집되지 않습니다.
실패한 테스트 다시 실행
boolean
. 기본값: False
.
실패한 테스트는 통과하거나 최대 시도 횟수에 도달할 때까지 다시 실행합니다.
rerunType
-
테스트 실패가 지정된 임계값을 초과하는 경우 다시 실행하지 마세요
string
. 선택적.
rerunFailedTests = true
때 사용합니다. 허용되는 값: basedOnTestFailurePercentage
(% 실패), basedOnTestFailureCount
(실패한 테스트 수) 기본값: basedOnTestFailurePercentage
.
실패율이 지정된 임계값을 초과할 때 테스트를 다시 실행하지 않습니다. 이는 환경 문제로 인해 대규모 오류가 발생하는 경우에 적용됩니다. 실패 비율 또는 실패한 테스트 수를 임계값으로 지정할 수 있습니다.
rerunFailedThreshold
-
% 오류
string
. 선택적.
rerunFailedTests = true && rerunType = basedOnTestFailurePercentage
때 사용합니다. 기본값: 30
.
실패한 테스트 사례의 백분율이 지정된 임계값을 초과할 때 테스트를 다시 실행하지 않습니다. 이는 환경 문제로 인해 대규모 오류가 발생하는 경우에 적용됩니다.
실패한 테스트
string
. 선택적.
rerunFailedTests = true && rerunType = basedOnTestFailureCount
때 사용합니다. 기본값: 5
.
실패한 테스트 사례 수가 지정된 한도를 초과할 때 테스트를 다시 실행하지 않습니다. 이는 환경 문제로 인해 대규모 오류가 발생하는 경우에 적용됩니다.
rerunMaxAttempts
-
최대 시도 횟수
string
. 선택적.
rerunFailedTests = true
때 사용합니다. 기본값: 3
.
실패한 테스트를 다시 시도해야 하는 최대 횟수를 지정합니다. 최대 시도 횟수에 도달하기 전에 테스트가 통과하면 다시 실행되지 않습니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에도 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.
출력 변수
없음.
발언
Visual Studio Test Runner를 사용하여 단위 및 기능 테스트(Selenium, Appium, 코딩된 UI 테스트 등)를 실행하려면 이 작업을 사용합니다. MSTest 기반 테스트와 함께 Visual Studio 테스트 어댑터가 있는 테스트 프레임워크(예: xUnit, NUnit 또는 Chutzpah)도 실행할 수 있습니다.
.runsettings 파일
이 작업의 버전 2를 사용하여 여러 에이전트에 테스트를 배포할 수 있습니다. 자세한 내용은 Visual Studio 테스트 태스크사용하여
필수 구성 요소 확인
Windows 자체 호스팅 에이전트를 사용하는 경우 이 필수 구성 요소를 설치해야 합니다.
- .NET Framework 4.6.2 이상 버전
요구
에이전트에는 다음과 같은 기능이 있어야 합니다.
vstest
vstest 수요는 다음 두 가지 방법으로 충족할 수 있습니다.
- Visual Studio가 에이전트 컴퓨터에 설치됩니다.
- Visual Studio 테스트 플랫폼 설치 관리자 작업을 사용하여 파이프라인 정의에.
TestCase를 데이터 원본으로 사용하는 테스트를 실행하려면 어떻게 해야 하나요?
TestCase를 데이터 원본으로 사용하는 자동화된 테스트를 실행하려면 다음이 필요합니다.
- 에이전트 컴퓨터에 Visual Studio 2017.6 이상이 있어야 합니다. Visual Studio 테스트 플랫폼 설치 관리자 작업은 TestCase를 데이터 원본으로 사용하는 테스트를 실행하는 데 사용할 수 없습니다.
- "작업 항목(전체) 범위"에 대해 권한이 부여된 PAT 만듭니다.
- 이전 단계에서 만든 PAT에 설정된 값을 사용하여
Test.TestCaseAccessToken
보안 빌드 또는 릴리스 변수를 추가합니다.
일부 작업 옵션을 사용하여 데이터 기반 xUnit 및 NUnit 테스트를 실행할 때 문제가 발생합니다. 알려진 제한 사항이 있나요?
xUnit 및 NUnit 테스트 프레임워크를 사용하는 데이터 기반 테스트에는 몇 가지 알려진 제한 사항이 있으며 다음 작업 옵션과 함께 사용할 수 없습니다.
- 실패한 테스트를 다시 실행합니다.
- 여러 에이전트에 테스트를 배포하고 옵션을 일괄 처리합니다.
- 테스트 영향 분석.
위의 제한 사항은 이러한 테스트 프레임워크의 어댑터가 데이터 기반 테스트를 검색하고 보고하는 방식 때문입니다.
VSTest 태스크는 한 번에 여러 대상 프레임워크를 대상으로 하는 테스트 실행을 지원하나요?
예, 버전 17.3
VSTest부터는 한 번에 여러 대상 프레임워크를 대상으로 하는 테스트 실행을 지원합니다.
그 전에는 VSTest 플랫폼 쪽의 제한으로 인해 이 작업을 수행할 수 없었습니다.
여러 대상 프레임워크에 속하는 테스트를 실행하려면 Visual Studio 테스트 플랫폼 설치 관리자 통해 호환되는 버전의 VSTest를 설치하고 사용할 toolsInstaller
vsTestVersion
설정해야 합니다.
테스트 결과를 게시하는 동안 다음 오류가 발생합니다. 테스트 결과를 게시하지 못했습니다. 잘못된 우선 순위가 지정되었나요?
이 오류는 테스트 메서드 중 하나라도 우선 순위가 255보다 높은 경우 코드에서 테스트 메서드 우선 순위를 수정하고 테스트를 다시 실행하는 경우에 발생합니다. 생성된 trx 파일을 검토하여 우선 순위가 255보다 큰 모든 테스트를 확인할 수 있습니다.
통합 테스트에서 AzurePipelinesCredential 사용
.NET, C++, Go, Java, JavaScript 및 Python용 Azure ID 라이브러리는 워크로드 ID 페더레이션지원할
많은 고객이 다른 작업에서 호출된 통합 테스트에서 Azure SDK 클라이언트 라이브러리를 사용하고 있습니다.
DotNetCoreCLI@2, Maven@4 및 VSTest@3 작업은 AzurePipelinesCredential
클래스를 사용하여 Azure 리소스에 액세스할 수 있습니다.
connectedService
속성을 워크로드 ID 페더레이션으로 구성된 Azure 서비스 연결로 설정할 수 있습니다.
AzurePipelinesCredential
설정하려면 SYSTEM_ACCESSTOKEN 필요합니다.
다음 예제에서는 DotNetCoreCLI@2
작업에 대한 connectedService
입력을 보여 드립니다.
VSTest@3
및 Maven@4
사용은 비슷합니다.
- task: DotNetCoreCLI@2
inputs:
command: 'run'
connectedService: <Azure service connection configured with workload identity federation>
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
AzurePipelinesCredential
대한 자세한 내용은 이 AzurePipelinesCredential사용하여 Azure 서비스 연결의 보안 태세 향상을 참조하세요.