VSTest@2 — zadanie testowe programu Visual Studio w wersji 2
To zadanie służy do uruchamiania testów jednostkowych i funkcjonalnych (Selenium, Appium, Coded UI test itp.) przy użyciu modułu uruchamiającego testy programu Visual Studio (VSTest). Możesz uruchamiać struktury testowe z adapterem testowym programu Visual Studio. Przykładowe struktury to MSTest, xUnit, NUnit, Chutzpah (w przypadku testów Języka JavaScript przy użyciu QUnit, Mocha i Jasmine) itp. Testy można dystrybuować na wielu agentach przy użyciu tego zadania.
Uwaga
VSTest@3 jest najnowszą wersją zadania i powinna być używana w potokach.
Składnia
# 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.
Dane wejściowe
testSelector
-
Wybieranie testów przy użyciu
string
. To jest wymagane. Dozwolone wartości: testAssemblies
(zestawy testowe), testPlan
(plan testu), testRun
(przebieg testu). Wartość domyślna: testAssemblies
.
- zestaw testowy: Określa co najmniej jeden zestaw testowy zawierający testy. Opcjonalnie można określić kryteria filtrowania, aby wybrać tylko określone testy.
- plan testu: Uruchamia testy z planu testowego, z którą jest skojarzona automatyczna metoda testowania. Aby dowiedzieć się więcej na temat kojarzenia testów z elementem roboczym przypadku testowego, zobacz Kojarzenie testów automatycznych z przypadkami testowymi.
- Przebieg testu: Użyj tej opcji podczas konfigurowania środowiska do uruchamiania testów z planów testów . Ta opcja nie powinna być używana podczas uruchamiania testów w potoku ciągłej integracji/ciągłego wdrażania (CI/CD).
testAssemblyVer2
-
pliki testowe
string
. Wymagane, gdy testSelector = testAssemblies
. Wartość domyślna: **\bin\**\*test.dll\n**\bin\**\*tests.dll
.
Uruchamia testy z określonych plików. Uporządkowane testy i testy internetowe można uruchamiać, określając odpowiednio pliki .orderedtest
i .webtest
. Aby uruchomić .webtest
, wymagany jest program Visual Studio 2017 Update 4 lub nowszy. Ścieżki plików są względne względem folderu wyszukiwania. Te dane wejściowe obsługują wiele wierszy wzorców minimatch.
# Example
- task: VSTest@2
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
testAssemblyVer2
-
pliki testowe
string
. Wymagane, gdy testSelector = testAssemblies
. Wartość domyślna: **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**
.
Uruchamia testy z określonych plików. Uporządkowane testy i testy internetowe można uruchamiać, określając odpowiednio pliki .orderedtest
i .webtest
. Aby uruchomić .webtest
, wymagany jest program Visual Studio 2017 Update 4 lub nowszy. Ścieżki plików są względne względem folderu wyszukiwania. Te dane wejściowe obsługują wiele wierszy wzorców minimatch.
# Example
- task: VSTest@2
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
planu testów testPlan
-
string
. Wymagane, gdy testSelector = testPlan
.
Określa plan testów zawierający zestawy testów z automatycznymi przypadkami testowymi.
zestawu testów testSuite
-
string
. Wymagane, gdy testSelector = testPlan
.
Określa co najmniej jeden zestaw testów zawierający automatyczne przypadki testowe. Elementy robocze przypadku testowego muszą być skojarzone z zautomatyzowaną metodą testowania.
testConfiguration
-
konfiguracja testu
string
. Wymagane, gdy testSelector = testPlan
.
Określa konfigurację testu.
tcmTestRun
-
przebiegu testu
string
. Opcjonalny. Użyj polecenia , gdy testSelector = testRun
. Wartość domyślna: $(test.RunId)
.
Określa wybór oparty na przebiegu testu używany podczas wyzwalania przebiegów testów automatycznych z planów testów . Tej opcji nie można używać do uruchamiania testów w potoku ciągłej integracji/ciągłego wdrażania.
folderu wyszukiwania searchFolder
-
string
. To jest wymagane. Wartość domyślna: $(System.DefaultWorkingDirectory)
.
Określa folder do wyszukania zestawów testowych.
folder wyników testu resultsFolder
-
string
. Wartość domyślna: $(Agent.TempDirectory)\TestResults
.
Określa folder do przechowywania wyników testów. W przypadku korzystania z katalogu domyślnego jest on czyszczony na końcu uruchomienia potoku. Katalog wyników będzie zawsze czyszczony na początku zadania vstest
przed uruchomieniem testów. Jeśli podano ścieżkę folderu względnego, zostanie uznana za względną $(Agent.TempDirectory)
.
testFiltercriteria
-
kryteria filtrowania testów
string
. Opcjonalny. Użyj polecenia , gdy testSelector = testAssemblies
.
Określa dodatkowe kryteria filtrowania testów z zestawów testowych. Na przykład: Priority=1|Name=MyTestMethod
. Dowiedz się więcej o opcjach wiersza polecenia .
runOnlyImpactedTests
-
Uruchamianie tylko testów, których dotyczy
boolean
. Opcjonalny. Użyj polecenia , gdy testSelector = testAssemblies
. Wartość domyślna: False
.
Automatycznie określa i uruchamia testy wymagane do zweryfikowania zmiany kodu. Dowiedz się więcej o korzystaniu z Test Impact Analysis.
runAllTestsAfterXBuilds
-
liczba kompilacji, po których wszystkie testy powinny być uruchamiane
string
. Opcjonalny. Użyj polecenia , gdy testSelector = testAssemblies && runOnlyImpactedTests = true
. Wartość domyślna: 50
.
Określa liczbę kompilacji do wykonania przed automatycznym uruchomieniem wszystkich testów. Analiza wpływu testu przechowuje mapowanie między przypadkami testowymi i kodem źródłowym. Zaleca się ponowne generowanie mapowania przez regularne uruchamianie wszystkich testów.
uiTests
-
Test mix zawiera testy interfejsu użytkownika
boolean
. Wartość domyślna: false
.
Aby uruchomić testy interfejsu użytkownika, upewnij się, że agent jest uruchomiony w trybie interaktywnym z włączonym autologon em. Przed kolejką kompilacji/wydania należy skonfigurować agenta do interaktywnego uruchamiania. Zaznaczenie tego pola nie powoduje automatycznego skonfigurowania agenta w trybie interaktywnym. Ta opcja służy jako przypomnienie, aby odpowiednio skonfigurować agenta, aby uniknąć błędów. Hostowani agenci systemu Windows z pul programu VS 2015 i 2017 mogą służyć do uruchamiania testów interfejsu użytkownika.
vstestLocationMethod
-
Wybieranie platformy testowej przy użyciu
string
. Dozwolone wartości: version
, location
(określona lokalizacja). Wartość domyślna: version
.
Określa, która platforma testowa ma być używana.
wersji platformy vsTestVersion
- testowej
string
. Opcjonalny. Użyj polecenia , gdy vstestLocationMethod = version
. Dozwolone wartości: latest
, 17.0
(Visual Studio 2022), 16.0
(Visual Studio 2019), 15.0
(Visual Studio 2017), 14.0
(Visual Studio 2015), toolsInstaller
(zainstalowany przez Instalatora narzędzi). Wartość domyślna: latest
.
Określa wersję testu programu Visual Studio do użycia. Jeśli określono najnowszej, te dane wejściowe wybierają najnowszą wersję (z listy dozwolonych wartości), która jest zainstalowana. Aby uruchomić testy bez konieczności używania programu Visual Studio na agencie, użyj opcji Zainstalowane przez instalatora narzędzi. Pamiętaj, aby dołączyć Instalator platformy testowej programu Visual Studio, aby uzyskać platformę testową z narzędzia NuGet.
wersji platformy vsTestVersion
- testowej
string
. Opcjonalny. Użyj polecenia , gdy vstestLocationMethod = version
. Dozwolone wartości: latest
, 16.0
(Visual Studio 2019), 15.0
(Visual Studio 2017), 14.0
(Visual Studio 2015), toolsInstaller
(zainstalowane przez Instalatora narzędzi). Wartość domyślna: latest
.
Określa wersję testu programu Visual Studio do użycia. Jeśli określono najnowszej, te dane wejściowe wybierają najnowszą wersję (z listy dozwolonych wartości), która jest zainstalowana. Aby uruchomić testy bez konieczności używania programu Visual Studio na agencie, użyj opcji Zainstalowane przez instalatora narzędzi. Pamiętaj, aby dołączyć Instalator platformy testowej programu Visual Studio, aby uzyskać platformę testową z narzędzia NuGet.
ścieżka vstestLocation
- do vstest.console.exe
string
. Opcjonalny. Użyj polecenia , gdy vstestLocationMethod = location
.
Określa ścieżkę do narzędzia VSTest.
pliku ustawień runSettingsFile
-
string
.
Określa ścieżkę do pliku runsettings
lub testsettings
do użycia z testami. W przypadku programu Visual Studio 15.7 lub nowszego użyj runsettings
dla wszystkich typów testów. Dowiedz się więcej o konwertowaniu pliku .testsettings
na plik .runsettings
.
overrideTestrunParameters
-
przesłonięcia parametrów przebiegu testu
string
.
Zastępuje parametry zdefiniowane w sekcji TestRunParameters
pliku runsettings
lub sekcji Properties
pliku testsettings
. Na przykład: -key1 value1 -key2 value2
.
Uwaga: Właściwości określone w pliku testsettings
można uzyskać dostęp za pośrednictwem TestContext
przy użyciu programu Visual Studio 2017 (aktualizacja 4 lub nowsza).
pathtoCustomTestAdapters
-
ścieżka do niestandardowych kart testowych
string
.
Określa ścieżkę katalogu do niestandardowych kart testowych. Karty znajdujące się w tym samym folderze co zestawy testowe są automatycznie wykrywane.
runInParallel
-
Równoległe uruchamianie testów na maszynach wielordzeniowych
boolean
. Wartość domyślna: False
.
Jeśli ustawiono wartość true
, testy są uruchamiane równolegle i wykorzystują dostępne rdzenie maszyny. Spowoduje to zastąpienie MaxCpuCount
, jeśli zostanie określony w pliku runsettings
. Dowiedz się więcej o tym, jak testy są uruchamiane równolegle.
runTestsInIsolation
-
Uruchamianie testów w izolacji
boolean
. Wartość domyślna: False
.
Uruchamia testy w izolowanym procesie. Prawdopodobnie prowadzi to do mniejszej liczby błędów w procesie testowania vstest.console.exe, ale testy mogą działać wolniej. Tej opcji nie można obecnie używać podczas uruchamiania z ustawieniem zadania obejmującego wiele agentów.
z włączoną obsługą pokrycia kodu codeCoverageEnabled
-
boolean
. Wartość domyślna: False
.
Zbiera informacje o pokryciu kodu z przebiegu testu.
otherConsoleOptions
-
inne opcje konsoli
string
.
Inne opcje konsoli, które można przekazać do vstest.console.exe.
Te opcje nie są obsługiwane i będą ignorowane podczas uruchamiania testów przy użyciu równoległego ustawienia zadania agenta, podczas uruchamiania testów przy użyciu planu testu lub przebiegu testu lub gdy jest wybrana opcja niestandardowego dzielenia na partie. Zamiast tego można określić opcje przy użyciu pliku ustawień.
distributionBatchType
-
testy usługi Batch
string
. Dozwolone wartości: basedOnTestCases
(na podstawie liczby testów i agentów), basedOnExecutionTime
(na podstawie wcześniejszego czasu wykonywania testów), basedOnAssembly
(na podstawie zestawów testowych). Wartość domyślna: basedOnTestCases
.
Partia to grupa testów. Partia testów uruchamia testy w tym samym czasie, a wyniki są publikowane dla partii. Jeśli zadanie, w którym jest uruchamiane zadanie, ma używać wielu agentów, każdy agent pobiera wszystkie dostępne partie testów do równoległego uruchamiania. Można uruchomić partię:
na podstawie liczby testów i agentów. Proste przetwarzanie wsadowe na podstawie liczby testów i agentów uczestniczących w przebiegu testu.
na podstawie wcześniejszego czasu wykonywania testów. Przetwarzanie wsadowe uwzględnia poprzedni czas wykonywania w celu utworzenia partii testów, w których każda partia ma w przybliżeniu równy czas wykonywania.
na podstawie zestawów testowych. Testy z zestawu są wsadowe razem.
batchingBasedOnAgentsOption
-
Opcje usługi Batch
string
. Opcjonalny. Użyj polecenia , gdy distributionBatchType = basedOnTestCases
. Dozwolone wartości: autoBatchSize
(automatycznie określ rozmiar partii), customBatchSize
(określ rozmiar partii). Wartość domyślna: autoBatchSize
.
Określa proste przetwarzanie wsadowe na podstawie liczby testów i agentów uczestniczących w przebiegu testu. Gdy rozmiar partii zostanie automatycznie określony, każda partia zawiera (total number of tests / number of agents)
testów. Jeśli zostanie określony rozmiar partii, każda partia będzie zawierać określoną liczbę testów.
customBatchSizeValue
-
liczba testów na wsadowych
string
. Wymagane, gdy distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize
. Wartość domyślna: 10
.
Określa rozmiar partii.
batchingBasedOnExecutionTimeOption
-
Opcje usługi Batch
string
. Opcjonalny. Użyj polecenia , gdy distributionBatchType = basedOnExecutionTime
. Dozwolone wartości: autoBatchSize
(automatycznie określa czas wsadowy), customTimeBatchSize
(określ czas wykonywania na partię). Wartość domyślna: autoBatchSize
.
Przetwarzanie wsadowe uwzględnia wcześniejsze czasy wykonywania w celu utworzenia partii testów, w których każda partia ma w przybliżeniu równy czas wykonywania. Testy szybkiego uruchamiania zostaną połączone wsadowe, podczas gdy dłuższe testy mogą należeć do oddzielnej partii. Jeśli ta opcja jest używana z ustawieniem zadania obejmującego wiele agentów, całkowity czas testu jest ograniczony do minimum.
customRunTimePerBatchValue
-
czas wykonywania (s) na wsadowy
string
. Wymagane, gdy distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize
. Wartość domyślna: 60
.
Określa czas wykonywania (w sekundach) na partię.
dontDistribute
-
Replikowanie testów zamiast dystrybucji, gdy w zadania jest używanych wielu agentów
boolean
. Wartość domyślna: False
.
Wybranie tej opcji nie spowoduje dystrybucji testów między agentami, gdy zadanie jest uruchomione w zadaniu wielu agentów. Każdy z wybranych testów będzie powtarzany na każdym agencie. Ta opcja nie ma zastosowania, gdy zadanie agenta jest skonfigurowane do uruchamiania bez równoległości lub z opcją wielokonfiguracji.
testRunTitle
-
tytuł przebiegu testu
string
.
Określa nazwę przebiegu testu.
platform
-
Tworzenie platformy
string
.
Określa platformę kompilacji, dla której należy zgłaszać testy. Jeśli zdefiniowano zmienną dla platformy w zadaniu kompilacji, użyj tej zmiennej z danymi wejściowymi.
configuration
-
konfiguracja kompilacji
string
.
Określa konfigurację kompilacji, dla której należy zgłaszać testy. Jeśli zdefiniowano zmienną konfiguracji w zadaniu kompilacji, użyj tej zmiennej z danymi wejściowymi.
publishRunAttachments
-
Przekazywanie załączników testów
boolean
. Wartość domyślna: true
.
Zrezygnuje z załączników poziomu uruchamiania publikowania lub z tego poziomu.
failOnMinTestsNotRun
-
Niepowodzenie zadania, jeśli nie zostanie uruchomiona minimalna liczba testów.
boolean
. Wartość domyślna: False
.
Zadanie kończy się niepowodzeniem, jeśli nie zostanie uruchomiona minimalna liczba testów. Może to być przydatne, jeśli jakiekolwiek zmiany w danych wejściowych zadań lub zależności podstawowej karty testowej prowadzą do znalezienia tylko podzestawu żądanych testów.
minimumExpectedTests
-
minimalna liczba testów
string
. Opcjonalny. Użyj polecenia , gdy failOnMinTestsNotRun = true
. Wartość domyślna: 1
.
Określa minimalną liczbę testów do uruchomienia, aby zadanie zakończyło się pomyślnie. Łączna liczba wykonanych testów jest obliczana jako suma przekazanych, nieudanych i przerwanych testów.
diagnosticsEnabled
-
Zbieranie zaawansowanej diagnostyki w przypadku awarii katastrofanych
boolean
. Wartość domyślna: false
.
Zbiera dane diagnostyczne w celu rozwiązywania problemów z katastrofalnymi awariami, takimi jak awaria testowa. Po zaznaczeniu tej opcji zostanie wygenerowany plik XML sekwencji i dołączony do przebiegu testu. Plik sekwencji zawiera informacje o sekwencji, w której zostały uruchomione testy, więc można zidentyfikować potencjalny test winowajców.
collectDumpOn
-
Collect process dump and attach to test run report
string
. Opcjonalny. Użyj polecenia , gdy diagnosticsEnabled = true
. Dozwolone wartości: onAbortOnly
(tylko w przypadku przerwania), always
, never
. Wartość domyślna: onAbortOnly
.
Zbiera mini zrzut, którego można użyć do dalszej analizy.
- onAbortOnly — mini zrzut zostanie zebrany tylko po przerwaniu przebiegu testu.
- Zawsze — mini zrzut będzie zawsze zbierany niezależnie od tego, czy przebieg testu zakończy się, czy nie.
- Nigdy nie — mini zrzut nie zostanie zebrany niezależnie od tego, czy przebieg testu zakończy się, czy nie.
rerunFailedTests
-
ponowne uruchamianie testów zakończyło się niepowodzeniem
boolean
. Wartość domyślna: False
.
Uruchamia ponownie wszystkie testy, które zakończyły się niepowodzeniem, dopóki nie przejdą pomyślnie lub do momentu osiągnięcia maksymalnej liczby prób.
rerunType
-
Nie uruchamiaj ponownie, jeśli błędy testów przekraczają określony próg
string
. Opcjonalny. Użyj polecenia , gdy rerunFailedTests = true
. Dozwolone wartości: basedOnTestFailurePercentage
( niepowodzenie%), basedOnTestFailureCount
(liczba testów, które zakończyły się niepowodzeniem). Wartość domyślna: basedOnTestFailurePercentage
.
Unika ponownego uruchamiania testów, gdy współczynnik awarii przekracza określony próg. Ma to zastosowanie, jeśli problemy ze środowiskiem prowadzą do ogromnych awarii. Możesz określić wartość procentową niepowodzeń lub liczbę testów zakończonych niepowodzeniem jako próg.
rerunFailedThreshold
-
% awarii
string
. Opcjonalny. Użyj polecenia , gdy rerunFailedTests = true && rerunType = basedOnTestFailurePercentage
. Wartość domyślna: 30
.
Unika ponownego uruchamiania testów, gdy procent przypadków testowych, które zakończyły się niepowodzeniem, przekracza określony próg. Ma to zastosowanie, jeśli problemy ze środowiskiem prowadzą do ogromnych awarii.
rerunFailedTestCasesMaxLimit
-
# testów, które zakończyły się niepowodzeniem,
string
. Opcjonalny. Użyj polecenia , gdy rerunFailedTests = true && rerunType = basedOnTestFailureCount
. Wartość domyślna: 5
.
Unika ponownego uruchamiania testów, gdy liczba zakończonych niepowodzeniem przypadków testowych przekracza określony limit. Ma to zastosowanie, jeśli problemy ze środowiskiem prowadzą do ogromnych awarii.
rerunMaxAttempts
-
maksymalna liczba prób
string
. Opcjonalny. Użyj polecenia , gdy rerunFailedTests = true
. Wartość domyślna: 3
.
Określa maksymalną liczbę ponownych prób testu zakończonych niepowodzeniem. Jeśli test przejdzie pomyślnie, zanim zostanie osiągnięta maksymalna liczba prób, nie zostanie ponownie uruchomiona.
Opcje sterowania zadaniami
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.
Zmienne wyjściowe
Żaden.
Uwagi
To zadanie służy do uruchamiania testów jednostkowych i funkcjonalnych (Selenium, Appium, Coded UI test itd.) przy użyciu modułu uruchamiającego testy programu Visual Studio. Oprócz testów opartych na narzędziu MSTest platformy testowe, które mają adapter testowy programu Visual Studio, mogą być również wykonywane, takie jak xUnit, NUnit lub Chutzpah.
Testy, które można wykonać dla docelowej platformy .NET Core, określając odpowiednią wartość platformy docelowej w pliku .runsettings.
Testy można dystrybuować na wielu agentach przy użyciu wersji 2 tego zadania. Aby uzyskać więcej informacji, zobacz Run tests in parallel using the Visual Studio Test task.
Sprawdzanie wymagań wstępnych
Jeśli używasz własnego agenta systemu Windows, należy zainstalować następujące wymagania wstępne:
- .NET Framework 4.6.2 lub nowszej wersji
Wymagania
Agent musi mieć następującą możliwość:
vstest
Zapotrzebowanie vstest można spełnić na dwa sposoby:
- Program Visual Studio jest zainstalowany na maszynie agenta.
- Korzystając z zadania Instalatora platformy testowej programu Visual Studio w definicji potoku.
Jak mogę uruchomić testy korzystające z testowegocase jako źródła danych?
Do uruchamiania testów automatycznych, które używają testowegocase jako źródła danych, potrzebne są następujące elementy:
- Na maszynie agenta musisz mieć program Visual Studio 2017.6 lub nowszy. Nie można użyć zadania Instalatora platformy testowej programu Visual Studio do uruchamiania testów, które używają testowegocase jako źródła danych.
- Utwórz pat, który jest autoryzowany dla zakresu "Elementy robocze (pełne)".
- Dodaj bezpieczną zmienną kompilacji lub wydania o nazwie
Test.TestCaseAccessToken
z wartością ustawioną na pat utworzoną w poprzednim kroku.
Występują problemy podczas uruchamiania opartych na danych testów xUnit i NUnit z niektórymi opcjami zadań. Czy istnieją znane ograniczenia?
Testy oparte na danych korzystające z platform testowych xUnit i NUnit mają pewne znane ograniczenia i nie mogą być używane z następującymi opcjami zadań:
- Ponowne uruchamianie testów zakończyło się niepowodzeniem.
- Dystrybucja testów dla wielu agentów i opcji dzielenia na partie.
- Analiza wpływu testu.
Powyższe ograniczenia są spowodowane tym, jak karty dla tych platform testowych odnajdują i zgłaszają testy oparte na danych.
Czy zadanie VSTest obsługuje uruchamianie testów przeznaczonych dla wielu platform docelowych jednocześnie?
Tak, począwszy od wersji 17.3
VSTest obsługuje uruchamianie testów przeznaczonych dla wielu platform docelowych naraz.
Wcześniej nie było to możliwe ze względu na ograniczenie platformy VSTest.
Jeśli chcesz uruchomić testy należące do wielu platform docelowych, musisz zainstalować zgodną wersję narzędzia VSTest za pomocą instalatora platformy testowej programu Visual Studio i ustawić vsTestVersion
na toolsInstaller
, aby go używać.
Podczas publikowania wyniku testu jest wyświetlany następujący błąd: Nie można opublikować wyników testu: określono nieprawidłowy priorytet?
Ten błąd występuje, jeśli którakolwiek z metod testowych ma priorytet ustawiony powyżej 255, napraw priorytet metody testowej w kodzie i ponownie wykonaj testy. Możesz przejrzeć wygenerowany plik trx, aby zobaczyć wszystkie testy o priorytcie większym niż 255.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Agenci hostowani samodzielnie muszą mieć możliwości zgodne z następującymi wymaganiami do uruchamiania zadań korzystających z tego zadania: vstest |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | 2.103.0 lub nowsza |
Kategoria zadań | Testowanie |