VSTest@3 – úloha Visual Studio Test v3
Pomocí této úlohy můžete spouštět testy jednotek a funkcí (Selenium, Appium, Programový test uživatelského rozhraní atd.) pomocí spouštěče Visual Studio Test (VSTest). Můžete spustit testovací architektury, které mají testovací adaptér sady Visual Studio. Ukázkové architektury jsou MSTest, xUnit, NUnit, Chutzpah (pro javascriptové testy pomocí QUnit, Mocha a Jasmine) atd. Testy je možné distribuovat na více agentech pomocí této úlohy.
Poznámka
VSTest@3 je nejnovější verze úlohy a měla by se používat ve vašich kanálech.
Syntax
# 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.
Vstupy
azureSubscription
-
připojení Azure Resource Manageru
Vstupní alias: ConnectedServiceName
.
string
.
Zadejte připojení služby Azure Resource Manageru nakonfigurované s federací identit úloh pro použití AzurePipelinesCredential v integračních testech. Další informace najdete v tématu Použití AzurePipelinesCredential v integračních testech.
Poznámka
Tento vstup podporuje pouze připojení služby ARM nakonfigurovaná tak, aby používala federaci identit úloh.
testSelector
-
Výběr testů pomocí
string
. Požadovaný. Povolené hodnoty: testAssemblies
(sestavení testů), testPlan
(testovací plán), testRun
(testovací běh). Výchozí hodnota: testAssemblies
.
- Sestavení testu: Určuje jedno nebo více testovacích sestavení, která obsahují vaše testy. Volitelně můžete zadat kritéria filtru pro výběr pouze konkrétních testů.
- testovací plán: spouští testy z testovacího plánu, které mají přidruženou automatizovanou testovací metodu. Další informace o přidružení testů k pracovní položce testovacího případu najdete v tématu Přidružení automatizovaných testů k testovacím případům.
- Spuštění testu: Tuto možnost použijte při nastavování prostředí pro spouštění testů z testovacích plánů. Tato možnost by se neměla používat při spouštění testů v kanálu kontinuální integrace nebo průběžného nasazování (CI/CD).
testAssemblyVer2
-
testovací soubory
string
. Požadováno při testSelector = testAssemblies
. Výchozí hodnota: **\bin\**\*test.dll\n**\bin\**\*tests.dll
.
Spustí testy ze zadaných souborů. Seřazené testy a webové testy lze spustit zadáním .orderedtest
a .webtest
souborů. Ke spuštění .webtest
je potřeba Visual Studio 2017 Update 4 nebo novější. Cesty k souborům jsou relativní vzhledem ke složce výsledků hledání. Tento vstup podporuje více řádků minimatch vzorů.
# Example
- task: VSTest@3
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
testovacího plánu
string
. Požadováno při testSelector = testPlan
.
Určuje testovací plán obsahující testovací sady s automatizovanými testovacími případy.
sady testů
string
. Požadováno při testSelector = testPlan
.
Určuje jednu nebo více testovacích sad obsahujících automatizované testovací případy. Pracovní položky testovacího případu musí být přidruženy k automatizované testovací metody.
konfigurace testu
string
. Požadováno při testSelector = testPlan
.
Určuje konfiguraci testu.
tcmTestRun
-
testovacího spuštění
string
. Volitelný. Používá se při testSelector = testRun
. Výchozí hodnota: $(test.RunId)
.
Určuje výběr založený na testovacím spuštění, který se použije při aktivaci automatizovaných testovacích běhů z testovacích plánů. Tuto možnost nelze použít pro spouštění testů v kanálu CI/CD.
searchFolder
-
složky výsledků hledání
string
. Požadovaný. Výchozí hodnota: $(System.DefaultWorkingDirectory)
.
Určuje složku, ve které se mají hledat testovací sestavení.
resultsFolder
-
složce výsledků testu
string
. Výchozí hodnota: $(Agent.TempDirectory)\TestResults
.
Určuje složku pro uložení výsledků testu. Při použití výchozího adresáře se vyčistí na konci spuštění kanálu. Adresář výsledků se před spuštěním testů vždy vyčistí na začátku vstest
úlohy. Relativní cesta ke složce, pokud je k dispozici, bude považována za relativní vzhledem k $(Agent.TempDirectory)
.
testFiltercriteria
-
kritéria filtru testů
string
. Volitelný. Používá se při testSelector = testAssemblies
.
Určuje další kritéria pro filtrování testů z testovacích sestavení. Příklad: Priority=1|Name=MyTestMethod
. Přečtěte si o možnostech příkazového řádku.
runOnlyImpactedTests
-
Spustit pouze ovlivněné testy
boolean
. Volitelný. Používá se při testSelector = testAssemblies
. Výchozí hodnota: False
.
Automaticky určuje a spouští testy potřebné k ověření změny kódu. Přečtěte si o používání analýzy dopadu testu.
runAllTestsAfterXBuilds
-
Počet sestavení, po kterých by se měly všechny testy spouštět
string
. Volitelný. Používá se při testSelector = testAssemblies && runOnlyImpactedTests = true
. Výchozí hodnota: 50
.
Určuje počet sestavení, která se mají spustit před automatickým spuštěním všech testů. Analýza dopadu testu ukládá mapování mezi testovacími případy a zdrojovým kódem. Doporučujeme znovu vygenerovat mapování pravidelným spuštěním všech testů.
uiTests
-
Mix testů obsahuje testy uživatelského rozhraní
boolean
. Výchozí hodnota: false
.
Pokud chcete spustit testy uživatelského rozhraní, ujistěte se, že je agent nastavený tak, aby běžel v interaktivním režimu s povoleným autologon em. Nastavení agenta, který se má spustit interaktivně, musí být provedeno před zařažením sestavení nebo vydání do fronty. Zaškrtnutím tohoto políčka se agent automaticky nenakonfiguruje v interaktivním režimu. Tato možnost slouží jako připomenutí ke konfiguraci agenta, aby nedocházelo k selháním. Hostované agenty Windows z fondů VS 2015 a 2017 je možné použít ke spouštění testů uživatelského rozhraní.
vstestLocationMethod
-
Výběr testovací platformy pomocí
string
. Povolené hodnoty: version
, location
(konkrétní umístění). Výchozí hodnota: version
.
Určuje, kterou testovací platformu použít.
verze testovací platformy
string
. Volitelný. Používá se při vstestLocationMethod = version
. Povolené hodnoty: latest
, 17.0
(Visual Studio 2022), 16.0
(Visual Studio 2019), 15.0
(Visual Studio 2017), 14.0
(Visual Studio 2015), toolsInstaller
(nainstalované instalačním programem nástrojů). Výchozí hodnota: latest
.
Určuje verzi sady Visual Studio Test, která se má použít. Pokud zadáte nejnovější, zvolí tento vstup nejnovější verzi (ze seznamu povolených hodnot), která je nainstalovaná. Pokud chcete spouštět testy bez nutnosti sady Visual Studio v agentu, použijte možnost Nainstalované pomocí instalačního programu nástrojů. Nezapomeňte zahrnout instalační program testovací platformy sady Visual Studio úlohu získání testovací platformy z NuGetu.
vstestLocation
-
cesta k vstest.console.exe
string
. Volitelný. Používá se při vstestLocationMethod = location
.
Určuje cestu k VSTestu.
souboru nastavení
string
.
Určuje cestu k souboru runsettings
nebo testsettings
, který se má použít s testy. Pro Visual Studio 15.7 a novější použijte runsettings
pro všechny typy testů. Přečtěte si další informace o převodu souboru .testsettings
na soubor .runsettings
.
overrideTestrunParameters
-
přepsání parametrů testovacího spuštění
string
.
Přepíše parametry definované v části TestRunParameters
souboru runsettings
nebo oddíl Properties
souboru testsettings
. Příklad: -key1 value1 -key2 value2
.
Poznámka: k vlastnosti zadané v souboru testsettings
lze přistupovat prostřednictvím TestContext
pomocí sady Visual Studio 2017 (aktualizace 4 nebo vyšší).
pathtoCustomTestAdapters
-
Cesta k vlastním testovacím adaptérům
string
.
Určuje cestu k adresáři k vlastním testovacím adaptérům. Adaptéry umístěné ve stejné složce jako testovací sestavení se automaticky zjistí.
runInParallel
-
paralelní spouštění testů na počítačích s více jádry
boolean
. Výchozí hodnota: False
.
Pokud je nastavená hodnota true
, testy se spouští paralelně a využívají dostupná jádra počítače. Tento příkaz přepíše MaxCpuCount
, pokud je zadaný v souboru runsettings
. Přečtěte si další informace o tom, jak testy běží paralelně.
runTestsInIsolation
-
spouštět testy izolovaně
boolean
. Výchozí hodnota: False
.
Spustí testy v izolovaném procesu. To pravděpodobně vede k menšímu počtu chyb v procesu vstest.console.exe testu, ale testy můžou běžet pomaleji. Tuto možnost nelze v současné době použít při spuštění s nastavením úlohy s více agenty.
codeCoverageEnabled
-
povolení pokrytí kódu
boolean
. Výchozí hodnota: False
.
Shromažďuje informace o pokrytí kódu z testovacího spuštění.
otherConsoleOptions
-
Další možnosti konzoly
string
.
Další možnosti konzoly, které lze předat vstest.console.exe.
Tyto možnosti nejsou podporovány a budou ignorovány při spouštění testů pomocí paralelního nastavení úlohy agenta při spouštění testů pomocí testovacího plánu nebo možnost spuštění testu nebo při výběru vlastní možnosti dávkování. Místo toho je možné zadat možnosti pomocí souboru nastavení.
distributionBatchType
-
dávkové testy
string
. Povolené hodnoty: basedOnTestCases
(na základě počtu testů a agentů), basedOnExecutionTime
(na základě doby trvání testů), basedOnAssembly
(na základě testovacích sestavení). Výchozí hodnota: basedOnTestCases
.
Dávka je skupina testů. Dávka testů spustí své testy současně a výsledky se publikují pro dávku. Pokud je úloha, ve které se úloha spouští, nastavená na použití více agentů, každý agent převezme všechny dostupné dávky testů, které se mají spustit paralelně. Dávku je možné spustit:
na základě počtu testů a agentů. Jednoduché dávkování na základě počtu testů a agentů, kteří se účastní testovacího běhu.
na základě doby posledního běhu testů. Toto dávkování bere v úvahu dobu posledního běhu k vytvoření dávek testů, ve kterých má každá dávka přibližně stejnou dobu spuštění.
na základě testovacích sestavení. Testy ze sestavení jsou dávkové.
batchingBasedOnAgentsOption
-
možnosti služby Batch
string
. Volitelný. Používá se při distributionBatchType = basedOnTestCases
. Povolené hodnoty: autoBatchSize
(automaticky určit velikost dávky), customBatchSize
(určení velikosti dávky). Výchozí hodnota: autoBatchSize
.
Určuje jednoduché dávkování na základě počtu testů a agentů, kteří se účastní testovacího běhu. Při automatickém určení velikosti dávky obsahuje každá dávka (total number of tests / number of agents)
testy. Pokud je zadána velikost dávky, každá dávka bude obsahovat zadaný počet testů.
customBatchSizeValue
-
Počet testů na dávkové
string
. Požadováno při distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize
. Výchozí hodnota: 10
.
Určuje velikost dávky.
batchingBasedOnExecutionTimeOption
-
možnosti služby Batch
string
. Volitelný. Používá se při distributionBatchType = basedOnExecutionTime
. Povolené hodnoty: autoBatchSize
(automaticky určit čas dávky), customTimeBatchSize
(zadejte dobu spuštění na dávku). Výchozí hodnota: autoBatchSize
.
Toto dávkování bere v úvahu časy po spuštění za účelem vytvoření dávek testů, ve kterých má každá dávka přibližně stejnou dobu spuštění. Testy s rychlým spuštěním budou dávkové, zatímco delší testy můžou patřit do samostatné dávky. Pokud se tato možnost používá s nastavením úlohy s více agenty, celková doba testování se sníží na minimum.
customRunTimePerBatchValue
-
doba běhu (s) na dávkové
string
. Požadováno při distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize
. Výchozí hodnota: 60
.
Určuje dobu běhu (v sekundách) na dávku.
dontDistribute
-
Replikace testů místo distribuce při použití více agentů v úloze
boolean
. Výchozí hodnota: False
.
Volba této možnosti nebude distribuovat testy mezi agenty, pokud je úloha spuštěna v úloze s více agenty. Každý z vybraných testů se bude opakovat u každého agenta. Tato možnost není použitelná, pokud je úloha agenta nakonfigurovaná tak, aby běžela bez paralelismu nebo s možností vícenásobné konfigurace.
testRunTitle
-
název testovacího spuštění
string
.
Určuje název testovacího spuštění.
platform
-
platformu build
string
.
Určuje platformu sestavení, pro kterou mají být testy hlášeny. Pokud jste v úloze sestavení definovali proměnnou pro platformu, použijte ji s tímto vstupem.
configuration
-
konfigurace sestavení
string
.
Určuje konfiguraci sestavení, pro kterou mají být testy hlášeny. Pokud jste v úloze sestavení definovali proměnnou pro konfiguraci, použijte ji s tímto vstupem.
publishRunAttachments
-
nahrání testovacích příloh
boolean
. Výchozí hodnota: true
.
Odhlasuje nebo nevyvolá publikování příloh na úrovni spuštění.
failOnMinTestsNotRun
-
Selhání úlohy, pokud není spuštěn minimální počet testů.
boolean
. Výchozí hodnota: False
.
Úloha selže, pokud se nespustí minimální počet testů. To může být užitečné, pokud jakékoli změny vstupů úkolů nebo závislostí adaptéru podkladového testu vedou pouze k podmnožině požadovaných testů, které se mají najít.
minimumExpectedTests
-
minimální počet testů
string
. Volitelný. Používá se při failOnMinTestsNotRun = true
. Výchozí hodnota: 1
.
Určuje minimální počettestůch Celkový počet provedených testů se vypočítá jako součet úspěšných, neúspěšných a přerušených testů.
diagnosticsEnabled
-
Shromáždit pokročilou diagnostiku v případě katastrofických selhání
boolean
. Výchozí hodnota: false
.
Shromažďuje diagnostická data pro řešení závažných selhání, jako je například chybové ukončení testu. Pokud je tato možnost zaškrtnutá, vygeneruje se sekvenční soubor XML a připojí se k testovacímu spuštění. Soubor sekvence obsahuje informace o sekvenci, ve které byly testy spuštěny, takže je možné identifikovat potenciální test.
collectDumpOn
-
Shromáždění výpisu procesu a připojení k sestavy testovacího spuštění
string
. Volitelný. Používá se při diagnosticsEnabled = true
. Povolené hodnoty: onAbortOnly
(pouze při přerušení), always
, never
. Výchozí hodnota: onAbortOnly
.
Shromažďuje mini výpis paměti, který lze použít k další analýze.
- onAbortOnly – bude shromažďováno mini výpis paměti pouze v době, kdy je testovací běh přerušen.
- Vždy – bude vždy shromažďováno minimální výpis paměti bez ohledu na to, jestli se testovací běh dokončí nebo ne.
- Nikdy – minimální výpis paměti se neshromáždí bez ohledu na to, jestli se testovací běh dokončí nebo ne.
rerunFailedTests
-
znovu spustit neúspěšné testy
boolean
. Výchozí hodnota: False
.
Znovu spustí všechny neúspěšné testy, dokud neprojdou nebo dokud nedosáhne maximálního počtu pokusů.
rerunType
-
Pokud selhání testu překročí zadanou prahovou hodnotu
string
. Volitelný. Používá se při rerunFailedTests = true
. Povolené hodnoty: basedOnTestFailurePercentage
( selhání%), basedOnTestFailureCount
(počet neúspěšných testů). Výchozí hodnota: basedOnTestFailurePercentage
.
Zabrání opakovanému spuštění testů, když míra selhání překročí zadanou prahovou hodnotu. To platí v případě, že problémy s prostředím vedou k obrovským selháním. Jako prahovou hodnotu můžete zadat procento selhání nebo počet neúspěšných testů.
selhání
string
. Volitelný. Používá se při rerunFailedTests = true && rerunType = basedOnTestFailurePercentage
. Výchozí hodnota: 30
.
Zabrání opakovanému spuštění testů, když procento neúspěšných testovacích případů překročí zadanou prahovou hodnotu. To platí v případě, že problémy s prostředím vedou k obrovským selháním.
rerunFailedTestCasesMaxLimit
-
počet neúspěšných testů
string
. Volitelný. Používá se při rerunFailedTests = true && rerunType = basedOnTestFailureCount
. Výchozí hodnota: 5
.
Zabrání opakovanému spuštění testů, pokud počet neúspěšných testovacích případů překročí zadaný limit. To platí v případě, že problémy s prostředím vedou k obrovským selháním.
rerunMaxAttempts
-
Maximální počet pokusů
string
. Volitelný. Používá se při rerunFailedTests = true
. Výchozí hodnota: 3
.
Určuje maximální počet opakování neúspěšného testu. Pokud test projde před dosažením maximálního počtu pokusů, znovu se nespustí.
Možnosti řízení úkolů
Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Žádný.
Poznámky
Pomocí této úlohy můžete spouštět testy jednotek a funkcí (Selenium, Appium, Programový test uživatelského rozhraní a další) pomocí spouštěče testů sady Visual Studio. Kromě testů založených na MSTest je možné spustit také testovací architektury, které mají testovací adaptér sady Visual Studio, například xUnit, NUnit nebo Chutzpah.
Testy, které lze spustit cílovou architekturu .NET Core zadáním odpovídající hodnoty cílové architektury v souboru .runsettings.
Testy lze distribuovat na více agentech pomocí verze 2 této úlohy. Další informace naleznete v tématu Paralelní spouštění testů pomocí úlohy Visual Studio Test.
Kontrola požadovaných součástí
Pokud používáte agenta v místním prostředí Windows, musí se nainstalovat tento předpoklad:
- rozhraní .NET Framework 4.6.2 nebo novější verze
Požadavky
Agent musí mít následující funkce:
vstest
Poptávku vstest můžete splnit dvěma způsoby:
- Sada Visual Studio je nainstalovaná na počítači agenta.
- Pomocí úlohy Instalační program testovací platformy sady Visual Studio v definici kanálu.
Jak můžu spustit testy, které jako zdroj dat používají testovací případ?
Ke spuštění automatizovaných testů, které jako zdroj dat používají testovací případ, je potřeba následující:
- Na počítači agenta musíte mít sadu Visual Studio 2017.6 nebo vyšší. Úlohu instalačního programu testovací platformy sady Visual Studio nelze použít ke spouštění testů, které jako zdroj dat používají testovací případ.
- Vytvořte PAT, který má oprávnění pro obor Pracovní položky (úplné).
- Přidejte zabezpečenou proměnnou sestavení nebo vydané verze s názvem
Test.TestCaseAccessToken
s hodnotou nastavenou na pat vytvořenou v předchozím kroku.
Dochází k problémům při spouštění testů xUnit a NUnit řízených daty s některými možnostmi úlohy. Existují známá omezení?
Testy řízené daty, které používají testovací architektury xUnit a NUnit, mají určitá známá omezení a nelze je použít s následujícími možnostmi úlohy:
- Znovu spusťte neúspěšné testy.
- Distribuce testů na více agentech a možnostech dávkování
- Analýza dopadu testu
Výše uvedená omezení jsou způsobená tím, jak adaptéry pro tato testovací rozhraní zjišťují a hlásí testy řízené daty.
Podporuje úloha VSTest spuštěné testy, které cílí na více cílových architektur najednou?
Ano, počínaje verzí 17.3
VSTest podporuje spouštění testů, které cílí na více cílových architektur najednou.
Před tím to nebylo možné kvůli omezení platformy VSTest straně.
Pokud chcete spouštět testy, které patří do více cílových architektur, budete muset nainstalovat kompatibilní verzi nástroje VSTest prostřednictvím instalačního programu testovací platformy sady Visual Studio a nastavit vsTestVersion
tak, aby ji toolsInstaller
používala.
Při publikování výsledku testu se zobrazuje tato chyba: Nepodařilo se publikovat výsledky testu: Byla zadána neplatná priorita?
K této chybě dochází v případě, že některá z testovacích metod má nastavenou prioritu vyšší než 255, opravte prioritu testovací metody v kódu a znovu proveďte testy. Vygenerovaný soubor trx si můžete prohlédnout a zobrazit všechny testy s prioritou větší než 255.
Použití AzurePipelinesCredential v integračních testech
Knihovny identit Azure pro .NET, C++, Go, Java, JavaScript a Python poskytují podporu profederace identit úloh, takže kód spouštěný z AzureCLI@2 a AzurePowerShell@5 úkolů se může ověřit pomocí Microsoft Entra ID (například pro přístup k Azure) pomocí AzurePipelinesCredential
třídy.
Mnoho zákazníků používá klientské knihovny Sady Azure SDK v integračních testech vyvolané z jiných úloh. Úlohy DotNetCoreCLI@2, Maven@4 a VSTest@3 mají přístup k prostředkům Azure pomocí třídy AzurePipelinesCredential
.
Vlastnost connectedService
můžete nastavit na připojení služby Azure nakonfigurované s federací identit úloh.
AzurePipelinesCredential
vyžaduje nastavení SYSTEM_ACCESSTOKEN.
Následující příklad ukazuje vstup connectedService
úlohy DotNetCoreCLI@2
.
VSTest@3
a Maven@4
využití je podobné.
- task: DotNetCoreCLI@2
inputs:
command: 'run'
connectedService: <Azure service connection configured with workload identity federation>
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
Další informace o AzurePipelinesCredential
najdete v tomto Zlepšení stavu zabezpečení v připojeních služeb Azure pomocíAzurePipelinesCredential .
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasické sestavení, klasická verze |
Běží na | Agent, DeploymentGroup |
požadavky | Agenti v místním prostředí musí mít schopnosti, které odpovídají následujícím požadavkům ke spouštění úloh, které používají tuto úlohu: vstest |
možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
omezení příkazů | Jakýkoliv |
nastavitelné proměnné | Jakýkoliv |
Verze agenta | 2.144.0 nebo vyšší |
Kategorie úkolu | Test |