VSTest@3 - Visual Studio Test v3 görevi

Bu görevi Visual Studio Test (VSTest) çalıştırıcısını kullanarak birim ve fonksiyonel testleri (Selenium, Appium, Kodlu UI testi vb.) çalıştırmak için kullanın. Visual Studio test adaptörü olan test framework'leri çalıştırabilirsiniz. Örnek çerçeveler MSTest, xUnit, NUnit, Chutzpah (QUnit, Mocha ve Jasmine kullanan JavaScript testleri için) vb. Testler bu görev kullanılarak birden çok aracıya dağıtılabilir.

Not

VSTest@3 görevin en yeni sürümüdür ve işlem hatlarınızda kullanılmalıdır.

Not

VSTest@3 görev, MsTest, xUnit ve nUnit çerçeveleri için yalnızca statik parametrelerle ve özel displayName olmadan başarısız Veri odaklı testleri tekrar çalıştırabilir.

Not

VSTest Azure görevi, VSTest platformuna özgüdür. Daha yeni Microsoft.Testing.Platform (MTP) desteklemez.

DotNetCoreCLI@2 görevi Microsoft.Testing.Platform (MTP) desteğini sağlar. Daha fazla bilgi için bkz. Microsoft.Testing.Platform Now Fully Supported in Azure DevOps.

Sözdizimi

# Visual Studio Test v3
# Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2 and later).
- task: VSTest@3
  inputs:
    #azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection. 
  # Test selection
    testSelector: 'testAssemblies' # 'testAssemblies' | 'testPlan' | 'testRun'. Required. Select tests using. Default: testAssemblies.
    testAssemblyVer2: # string. Required when testSelector = testAssemblies. Test files. 
    #testPlan: # string. Required when testSelector = testPlan. Test plan. 
    #testSuite: # string. Required when testSelector = testPlan. Test suite. 
    #testConfiguration: # string. Required when testSelector = testPlan. Test configuration. 
    #tcmTestRun: '$(test.RunId)' # string. Optional. Use when testSelector = testRun. Test Run. Default: $(test.RunId).
    searchFolder: '$(System.DefaultWorkingDirectory)' # string. Required. Search folder. Default: $(System.DefaultWorkingDirectory).
    #resultsFolder: '$(Agent.TempDirectory)\TestResults' # string. Test results folder. Default: $(Agent.TempDirectory)\TestResults.
    #testFiltercriteria: # string. Optional. Use when testSelector = testAssemblies. Test filter criteria. 
    #runOnlyImpactedTests: False # boolean. Optional. Use when testSelector = testAssemblies. Run only impacted tests. Default: False.
    #runAllTestsAfterXBuilds: '50' # string. Optional. Use when testSelector = testAssemblies && runOnlyImpactedTests = true. Number of builds after which all tests should be run. Default: 50.
    #uiTests: false # boolean. Test mix contains UI tests. Default: false.
  # Execution options
    #vstestLocationMethod: 'version' # 'version' | 'location'. Select test platform using. Default: version.
    #vsTestVersion: 'latest' # 'latest' | '18.0' | '17.0' | '16.0' | '15.0' | '14.0' | 'toolsInstaller'. Optional. Use when vstestLocationMethod = version. Test platform version. Default: latest.
    #vstestLocation: # string. Optional. Use when vstestLocationMethod = location. Path to vstest.console.exe. 
    #runSettingsFile: # string. Settings file. 
    #overrideTestrunParameters: # string. Override test run parameters. 
    #pathtoCustomTestAdapters: # string. Path to custom test adapters. 
    #runInParallel: False # boolean. Run tests in parallel on multi-core machines. Default: False.
    #runTestsInIsolation: False # boolean. Run tests in isolation. Default: False.
    #codeCoverageEnabled: False # boolean. Code coverage enabled. Default: False.
    #otherConsoleOptions: # string. Other console options. 
    #diagnosticsEnabled: false # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: false.
    #collectDumpOn: 'onAbortOnly' # 'onAbortOnly' | 'always' | 'never'. Optional. Use when diagnosticsEnabled = true. Collect process dump and attach to test run report. Default: onAbortOnly.
    #rerunFailedTests: False # boolean. Rerun failed tests. Default: False.
    #rerunType: 'basedOnTestFailurePercentage' # 'basedOnTestFailurePercentage' | 'basedOnTestFailureCount'. Optional. Use when rerunFailedTests = true. Do not rerun if test failures exceed specified threshold. Default: basedOnTestFailurePercentage.
    #rerunFailedThreshold: '30' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. % failure. Default: 30.
    #rerunFailedTestCasesMaxLimit: '5' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailureCount. # of failed tests. Default: 5.
    #rerunMaxAttempts: '3' # string. Optional. Use when rerunFailedTests = true. Maximum # of attempts. Default: 3.
  # Advanced execution options
    #distributionBatchType: 'basedOnTestCases' # 'basedOnTestCases' | 'basedOnExecutionTime' | 'basedOnAssembly'. Batch tests. Default: basedOnTestCases.
    #batchingBasedOnAgentsOption: 'autoBatchSize' # 'autoBatchSize' | 'customBatchSize'. Optional. Use when distributionBatchType = basedOnTestCases. Batch options. Default: autoBatchSize.
    #customBatchSizeValue: '10' # string. Required when distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Number of tests per batch. Default: 10.
    #batchingBasedOnExecutionTimeOption: 'autoBatchSize' # 'autoBatchSize' | 'customTimeBatchSize'. Optional. Use when distributionBatchType = basedOnExecutionTime. Batch options. Default: autoBatchSize.
    #customRunTimePerBatchValue: '60' # string. Required when distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Running time (sec) per batch. Default: 60.
    #dontDistribute: False # boolean. Replicate tests instead of distributing when multiple agents are used in the job. Default: False.
  # Reporting options
    #testRunTitle: # string. Test run title. 
    #platform: # string. Build platform. 
    #configuration: # string. Build configuration. 
    #publishRunAttachments: true # boolean. Upload test attachments. Default: true.
    #donotPublishTestResults: false # boolean. Optional. Use when runInParallel = false. Disable publishing test results. Default: false.
    #failOnMinTestsNotRun: False # boolean. Fail the task if a minimum number of tests are not run. Default: False.
    #minimumExpectedTests: '1' # string. Optional. Use when failOnMinTestsNotRun = true. Minimum # of tests. Default: 1.
# Visual Studio Test v3
# Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2 and later).
- task: VSTest@3
  inputs:
    #azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection. 
  # Test selection
    testSelector: 'testAssemblies' # 'testAssemblies' | 'testPlan' | 'testRun'. Required. Select tests using. Default: testAssemblies.
    testAssemblyVer2: # string. Required when testSelector = testAssemblies. Test files. 
    #testPlan: # string. Required when testSelector = testPlan. Test plan. 
    #testSuite: # string. Required when testSelector = testPlan. Test suite. 
    #testConfiguration: # string. Required when testSelector = testPlan. Test configuration. 
    #tcmTestRun: '$(test.RunId)' # string. Optional. Use when testSelector = testRun. Test Run. Default: $(test.RunId).
    searchFolder: '$(System.DefaultWorkingDirectory)' # string. Required. Search folder. Default: $(System.DefaultWorkingDirectory).
    #resultsFolder: '$(Agent.TempDirectory)\TestResults' # string. Test results folder. Default: $(Agent.TempDirectory)\TestResults.
    #testFiltercriteria: # string. Optional. Use when testSelector = testAssemblies. Test filter criteria. 
    #runOnlyImpactedTests: False # boolean. Optional. Use when testSelector = testAssemblies. Run only impacted tests. Default: False.
    #runAllTestsAfterXBuilds: '50' # string. Optional. Use when testSelector = testAssemblies && runOnlyImpactedTests = true. Number of builds after which all tests should be run. Default: 50.
    #uiTests: false # boolean. Test mix contains UI tests. Default: false.
  # Execution options
    #vstestLocationMethod: 'version' # 'version' | 'location'. Select test platform using. Default: version.
    #vsTestVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | 'toolsInstaller'. Optional. Use when vstestLocationMethod = version. Test platform version. Default: latest.
    #vstestLocation: # string. Optional. Use when vstestLocationMethod = location. Path to vstest.console.exe. 
    #runSettingsFile: # string. Settings file. 
    #overrideTestrunParameters: # string. Override test run parameters. 
    #pathtoCustomTestAdapters: # string. Path to custom test adapters. 
    #runInParallel: False # boolean. Run tests in parallel on multi-core machines. Default: False.
    #runTestsInIsolation: False # boolean. Run tests in isolation. Default: False.
    #codeCoverageEnabled: False # boolean. Code coverage enabled. Default: False.
    #otherConsoleOptions: # string. Other console options. 
    #diagnosticsEnabled: false # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: false.
    #collectDumpOn: 'onAbortOnly' # 'onAbortOnly' | 'always' | 'never'. Optional. Use when diagnosticsEnabled = true. Collect process dump and attach to test run report. Default: onAbortOnly.
    #rerunFailedTests: False # boolean. Rerun failed tests. Default: False.
    #rerunType: 'basedOnTestFailurePercentage' # 'basedOnTestFailurePercentage' | 'basedOnTestFailureCount'. Optional. Use when rerunFailedTests = true. Do not rerun if test failures exceed specified threshold. Default: basedOnTestFailurePercentage.
    #rerunFailedThreshold: '30' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. % failure. Default: 30.
    #rerunFailedTestCasesMaxLimit: '5' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailureCount. # of failed tests. Default: 5.
    #rerunMaxAttempts: '3' # string. Optional. Use when rerunFailedTests = true. Maximum # of attempts. Default: 3.
  # Advanced execution options
    #distributionBatchType: 'basedOnTestCases' # 'basedOnTestCases' | 'basedOnExecutionTime' | 'basedOnAssembly'. Batch tests. Default: basedOnTestCases.
    #batchingBasedOnAgentsOption: 'autoBatchSize' # 'autoBatchSize' | 'customBatchSize'. Optional. Use when distributionBatchType = basedOnTestCases. Batch options. Default: autoBatchSize.
    #customBatchSizeValue: '10' # string. Required when distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Number of tests per batch. Default: 10.
    #batchingBasedOnExecutionTimeOption: 'autoBatchSize' # 'autoBatchSize' | 'customTimeBatchSize'. Optional. Use when distributionBatchType = basedOnExecutionTime. Batch options. Default: autoBatchSize.
    #customRunTimePerBatchValue: '60' # string. Required when distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Running time (sec) per batch. Default: 60.
    #dontDistribute: False # boolean. Replicate tests instead of distributing when multiple agents are used in the job. Default: False.
  # Reporting options
    #testRunTitle: # string. Test run title. 
    #platform: # string. Build platform. 
    #configuration: # string. Build configuration. 
    #publishRunAttachments: true # boolean. Upload test attachments. Default: true.
    #donotPublishTestResults: false # boolean. Optional. Use when runInParallel = false. Disable publishing test results. Default: false.
    #failOnMinTestsNotRun: False # boolean. Fail the task if a minimum number of tests are not run. Default: False.
    #minimumExpectedTests: '1' # string. Optional. Use when failOnMinTestsNotRun = true. Minimum # of tests. Default: 1.

Giriş

azureSubscription - Azure Resource Manager bağlantı
Giriş diğer adı: . .

Entegrasyon testlerinde AzurePipelinesCredential kullanmak üzere iş yükü kimlik federasyonuyla yapılandırılmış bir Azure Resource Manager servis bağlantısı belirtin. Daha fazla bilgi için bkz. tümleştirme testlerinde AzurePipelinesCredential kullanma.

Not

Bu giriş yalnızca iş yükü kimlik federasyonu kullanacak şekilde yapılandırılmış ARM hizmet bağlantılarını destekler.


kullanarak testleri seçme
. Gerekli. İzin verilen değerler: (Test derlemeleri), (Test planı), (Test çalıştırması). Varsayılan değer: .

  • Test derlemesi: Testlerinizi içeren bir veya daha fazla test derlemesini belirtir. İsteğe bağlı olarak, yalnızca belirli testleri seçmek için bir filtre ölçütü belirtebilirsiniz.
  • test planını : Test planınızdan testlerle ilişkilendirilmiş otomatik bir test yöntemi olan testleri çalıştırır. Testleri bir test çalışması iş öğesiyle ilişkilendirme hakkında daha fazla bilgi edinmek için bkz. Otomatikleştirilmiş testleri test çalışmalarıyla ilişkilendirme.
  • test çalıştırmasını :test planlarından testleri çalıştırmak için bir ortam ayarlarken bu seçeneği kullanın. Bu seçenek, testleri sürekli tümleştirme/sürekli dağıtım (CI/CD) işlem hattında çalıştırırken kullanılmamalıdır.

Test dosyaları
. gerekir. Varsayılan değer: .

Belirtilen dosyalardan testleri çalıştırır. Sıralı testler ve web testleri sırasıyla ve dosyaları belirtilerek çalıştırılabilir. .webtest çalıştırmak için 2017 Güncelleme 4 veya üzeri Visual Studio gereklidir. Dosya yolları arama klasörüne göredir. Bu giriş,birden çok minimatch desenini destekler.

# Example
- task: VSTest@3
  inputs:
    testSelector: 'testAssemblies'
    testAssemblyVer2: |
      **\*test*.dll
      !**\*TestAdapter.dll
      !**\obj\**

Test planı
. gerekir.

Otomatikleştirilmiş test çalışmalarını içeren test paketlerini içeren bir test planı belirtir.


Test paketi
. gerekir.

Otomatik test çalışmalarını içeren bir veya daha fazla test paketi belirtir. Test çalışması iş öğeleriotomatik test yöntemiyle ilişkilendirilmelidir.


Test yapılandırması
. gerekir.

Test yapılandırmasını belirtir.


Test Çalıştırması
. Opsiyonel. olduğunda kullanın. Varsayılan değer: .

test planlarından otomatik test çalıştırmalarını tetiklerken kullanılan test çalıştırması tabanlı seçimi belirtir. Bu seçenek, CI/CD işlem hattında testleri çalıştırmak için kullanılamaz.


Arama klasörü
. Gerekli. Varsayılan değer: .

Test derlemeleri için aranacak klasörü belirtir.


Test sonuçları klasörünü
. Varsayılan değer: .

Test sonuçlarını depolamak için klasörü belirtir. Varsayılan dizin kullanılırken, işlem hattı çalıştırmasının sonunda temizlenir. Sonuçlar dizini, testler çalıştırılmadan önce her zaman görevinin başlangıcında temizlenir. Sağlanmışsa göreli klasör yolu, göre değerlendirilir.


Test filtresi ölçütleri
. Opsiyonel. olduğunda kullanın.

Test derlemelerinden testleri filtrelemek için ek ölçütler belirtir. Örneğin: . Bir filtreyi olumsuzlamak için kullanabilirsiniz . Filtreler ve seçenekler hakkında daha fazla bilgi için, bkz: Test listesinde arama ve filtre uygulama.

komut satırı seçenekleri hakkında bilgi edinin.


Yalnızca etkilenen testleri çalıştırma
. Opsiyonel. olduğunda kullanın. Varsayılan değer: .

Kod değişikliğini doğrulamak için gereken testleri otomatik olarak belirtir ve çalıştırır. Test Etkisi Analizikullanma hakkında bilgi edinin.


Tüm testlerin çalıştırılacağı derleme sayısı
. Opsiyonel. olduğunda kullanın. Varsayılan değer: .

Tüm testler otomatik olarak çalıştırılmadan önce yürütülecek derleme sayısını belirtir. Test Etkisi Analizi, test çalışmaları ve kaynak kodu arasındaki eşlemeyi depolar. Tüm testleri düzenli olarak çalıştırarak eşlemeyi yeniden oluşturmak önerilir.


Test karışımı ui testleri içerir
. Varsayılan değer: .

UI testlerini çalıştırmak için aracının Autologon etkin etkileşimli modda çalışacak şekilde ayarlandığından emin olun. Derleme/yayın kuyruğa almadan önce etkileşimli olarak çalışacak bir aracı ayarlama işlemi yapılmalıdır. Bu kutu işaretlenmesi aracıyı otomatik olarak etkileşimli modda yapılandırmaz. Bu seçenek, hataları önlemek için aracıyı uygun şekilde yapılandırmaya yönelik bir anımsatıcı görevi görür. VS 2015 ve 2017 havuzlarından barındırılan Windows ajanları kullanıcı arayüzü testleri çalıştırmak için kullanılabilir.


kullanarak test platformu seçme
. İzin verilen değerler: , (Belirli konum). Varsayılan değer: .

Hangi test platformlarının kullanılacağını belirtir.


Test platformu sürümü
. Opsiyonel. olduğunda kullanın. İzin verilen değerler: latest, 18.0 (Visual Studio 2026), 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (Tools Installer tarafından kuruldu). Varsayılan değer: .

Kullanılacak Visual Studio Test sürümünü belirtir. En son belirtilirse, bu giriş yüklenen en son sürümü (izin verilen değerler listesinden) seçer. Ajanda Visual Studio gerektirmeden testleri çalıştırmak için Installed by tools installer seçeneğini kullanın. Test platformunu NuGet'ten almak için Visual Studio Test Platform Installer görevini mutlaka dahil edin.


Test platformu sürümü
. Opsiyonel. olduğunda kullanın. İzin verilen değerler: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (Tools Installer tarafından Kuruldu). Varsayılan değer: .

Kullanılacak Visual Studio Test sürümünü belirtir. En son belirtilirse, bu giriş yüklenen en son sürümü (izin verilen değerler listesinden) seçer. Ajanda Visual Studio gerektirmeden testleri çalıştırmak için Installed by tools installer seçeneğini kullanın. Test platformunu NuGet'ten almak için Visual Studio Test Platform Installer görevini mutlaka dahil edin.


vstest.console.exe yolunu
. Opsiyonel. olduğunda kullanın.

VSTest yolunu belirtir.


Ayarları dosyası
.

Testlerle kullanılacak bir veya dosyasının yolunu belirtir. 15.7 ve üzeri Visual Studio için tüm test türleri için runsettings kullanın. dosyasını dosyaya dönüştürme hakkında daha fazla bilgi edinin.


Test çalıştırması parametrelerini geçersiz kılma
.

dosyasının bölümünde veya dosyasının bölümünde tanımlanan parametreleri geçersiz kılar. Örneğin: . Not:testsettings dosyasında belirtilen özellikler, TestContext üzerinden 2017 Visual Studio (güncelleme 4 veya üzeri) kullanılarak erişilebilir.


Özel test bağdaştırıcılarının yolu
.

Özel test bağdaştırıcılarının dizin yolunu belirtir. Test derlemeleriyle aynı klasörde bulunan bağdaştırıcılar otomatik olarak bulunur.


Çok çekirdekli makinelerde testleri paralel olarak çalıştırma
. Varsayılan değer: .

olarak ayarlanırsa testler paralel olarak çalıştırılır ve makinenin kullanılabilir çekirdeklerinden yararlanılır. Bu, dosyanızda belirtilirse geçersiz kılar. testlerinin paralelnasıl çalıştırılır hakkında daha fazla bilgi edinin.


Testleri yalıtım çalıştırma
. Varsayılan değer: .

Testleri yalıtılmış bir işlemde çalıştırır. Bu büyük olasılıkla vstest.console.exe test işleminde daha az hataya yol açar, ancak testler daha yavaş çalışabilir. Bu seçenek şu anda çok aracılı iş ayarıyla çalıştırılırken kullanılamaz.


Kod kapsamı etkin
. Varsayılan değer: .

Test çalıştırmasından kod kapsamı bilgilerini toplar.


Diğer konsol seçenekleri
.

vstest.console.exegeçirilebilen diğer konsol seçenekleri.

Bu seçenekler desteklenmez ve aracı işinin çok aracılı paralel ayarı kullanılarak testler çalıştırılırken, Test planı veya test çalıştırma seçeneğini veya özel bir toplu iş seçeneği belirlendiğinde yoksayılır. Seçenekler bunun yerine bir ayarlar dosyası kullanılarak belirtilebilir.


batch testleri
. İzin verilen değerler: (test ve aracı sayısına göre), (Testlerin geçmiş çalışma süresine göre), (Test derlemelerine göre). Varsayılan değer: .

Toplu iş, bir test grubudur. Bir grup test, testlerini aynı anda çalıştırır ve toplu iş için sonuçlar yayımlanır. Görevin çalıştırıldığı iş birden çok aracı kullanacak şekilde ayarlanırsa, her aracı paralel olarak çalıştırılacak tüm kullanılabilir test toplu işlemlerini alır. Toplu iş çalıştırılabilir:

test ve aracı sayısına göre. Test çalıştırmasına katılan test ve aracı sayısına göre basit toplu işlem.

testlerin geçmiş çalışma süresine göre. Bu toplu işlem, her toplu iş yaklaşık olarak eşit çalışma süresine sahip olan toplu testler oluşturmak için geçmiş çalışma süresini dikkate alır.

test derlemelerini temel alır. Bir derlemeden gelen testler birlikte toplu olarak oluşturulur.


Batch seçeneklerini
. Opsiyonel. olduğunda kullanın. İzin verilen değerler: (Toplu iş boyutunu otomatik olarak belirleyin), (Toplu iş boyutunu belirtin). Varsayılan değer: .

Test çalıştırmasına katılan test ve aracı sayısına göre basit toplu işlemi belirtir. Toplu iş boyutu otomatik olarak belirlendiğinde, her toplu işlem testleri içerir. Bir toplu iş boyutu belirtilirse, her toplu işlem belirtilen sayıda test içerir.


Toplu iş başına test sayısı
. gerekir. Varsayılan değer: .

Toplu iş boyutunu belirtir.


Batch seçeneklerini
. Opsiyonel. olduğunda kullanın. İzin verilen değerler: (Toplu iş zamanını otomatik olarak belirleyin), (Toplu iş başına çalışma süresini belirtin). Varsayılan değer: .

Bu toplu işlem, her toplu iş yaklaşık olarak eşit çalışma süresine sahip olan toplu testler oluşturmak için geçmiş çalışma sürelerini dikkate alır. Hızlı çalışan testler birlikte toplu işlenirken, uzun süre çalışan testler ayrı bir toplu işe ait olabilir. Bu seçenek çok aracılı iş ayarıyla kullanıldığında, toplam test süresi en aza indirilir.


Toplu iş başına çalışma süresi (sn)
. gerekir. Varsayılan değer: .

Toplu iş başına çalışma süresini (saniye cinsinden) belirtir.


İş birden çok aracı kullanıldığında dağıtmak yerine testleri çoğaltma
. Varsayılan değer: .

Bu seçeneğin seçilmesi, görev çok aracılı bir işte çalışırken testleri aracılar arasında dağıtmaz. Seçilen testlerin her biri her aracıda yinelenir. Aracı işi paralellik olmadan veya çoklu yapılandırma seçeneğiyle çalışacak şekilde yapılandırıldığında bu seçenek geçerli değildir.


çalıştırma başlığını test
.

Test çalıştırması için bir ad belirtir.


Platform oluşturma
.

Testlerin raporlanması gereken derleme platformunu belirtir. Derleme görevinizde platform için bir değişken tanımladıysanız, bunu bu girişle kullanın.


Yapılandırma
.

Testlerin raporlanması gereken derleme yapılandırmasını belirtir. Derleme görevinizde yapılandırma için bir değişken tanımladıysanız, bunu bu girişle kullanın.


Test eklerini karşıya yükleme
. Varsayılan değer: .

Çalıştırma düzeyi eklerini yayımlamayı kabul eder veya devre dışı bırakabilirsiniz.


Test sonuçlarını yayımlamayı devre dışı bırak
. Opsiyonel. olduğunda kullanın. Varsayılan değer: .

Bu seçenek açıksa, test sonuçları bu görevin bir parçası olarak yayımlanmaz. Bunun yerine Test Sonuçlarını Yayımla görevini kullanın.


En az sayıda test çalıştırılmazsa görevi başarısız yapın.
. Varsayılan değer: .

En az sayıda test çalıştırılmazsa görev başarısız olur. Görev girişlerinde veya temel test bağdaştırıcısı bağımlılıklarında yapılan değişiklikler istenen testlerin yalnızca bir alt kümesine yol açıyorsa bu yararlı olabilir.


Minimum test sayısı
. Opsiyonel. olduğunda kullanın. Varsayılan değer: .

Görevin başarılı olması için çalıştırılacak en az test sayısını belirtir. Yürütülen toplam test sayısı, geçirilen, başarısız olan ve durdurulan testlerin toplamı olarak hesaplanır.


Olağanüstü hatalar durumunda gelişmiş tanılamaları toplayın
. Varsayılan değer: .

Test kilitlenmesi gibi yıkıcı hataları gidermek için tanılama verilerini toplar. Bu seçenek işaretlendiğinde, bir sıralı XML dosyası oluşturulur ve test çalıştırmasına eklenir. Sıra dosyası, testlerin çalıştırıldığı sıra hakkında bilgi içerir, bu nedenle olası bir suçlu testi tanımlanabilir.


İşlem dökümünü toplama ve test çalıştırması raporuna ekleme
. Opsiyonel. olduğunda kullanın. İzin verilen değerler: (Yalnızca durdurmada), . Varsayılan değer: .

Daha fazla analiz için kullanılabilecek bir mini döküm toplar.

  • onAbortOnly - mini döküm yalnızca test çalıştırması durdurulduğunda toplanır.
  • Her zaman - Test çalıştırmasının tamamlanıp tamamlanmadığına bakılmaksızın her zaman bir mini döküm toplanır.
  • Asla - Test çalıştırmasının tamamlanıp tamamlanmadığına bakılmaksızın mini döküm toplanmaz.

Başarısız testleri yeniden çalıştırma
. Varsayılan değer: .

Başarısız testleri geçene kadar veya deneme sayısı üst sınırına ulaşılana kadar yeniden çalıştırır.


Test hataları belirtilen eşiği aşarsa yeniden çalıştırmayın
. Opsiyonel. olduğunda kullanın. İzin verilen değerler: (% hatası), (başarısız test sayısı). Varsayılan değer: .

Hata oranı belirtilen eşiği aştığında testlerin yeniden çalıştırılmasını önler. Ortam sorunları büyük hatalara yol açıyorsa bu geçerlidir. Hata yüzdesini veya başarısız test sayısını eşik olarak belirtebilirsiniz.


% hatası
. Opsiyonel. olduğunda kullanın. Varsayılan değer: .

Başarısız test çalışmalarının yüzdesi belirtilen eşiği aştığında testlerin yeniden çalıştırılmasını önler. Ortam sorunları büyük hatalara yol açıyorsa bu geçerlidir.


başarısız testlerin numarası
. Opsiyonel. olduğunda kullanın. Varsayılan değer: .

Başarısız test çalışmalarının sayısı belirtilen sınırı aştığında testlerin yeniden çalıştırılmasını önler. Ortam sorunları büyük hatalara yol açıyorsa bu geçerlidir.


Deneme sayısı üst sınırı
. Opsiyonel. olduğunda kullanın. Varsayılan değer: .

Başarısız bir testin en fazla kaç kez yeniden denenmesi gerektiğini belirtir. Bir test, deneme sayısı üst sınırına ulaşılmadan önce geçerse yeniden çalıştırılmaz.


Görev denetimi seçenekleri

Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Hiç kimse.

Açıklamalar

Bu görevi, Visual Studio Test çalıştırıcısını kullanarak birim ve fonksiyonel testleri (Selenium, Appium, Coded UI testi ve daha fazlası) çalıştırmak için kullanın. MSTest tabanlı testlerin yanı sıra, xUnit, NUnit veya Chutzpah gibi Visual Studio test adaptörüne sahip test çerçeveleri de çalıştırılabilir.

Hedef .NET çekirdek çerçevenin uygun hedef çerçeve değeri .runsettings dosyası içinde belirlenerek çalıştırılabileceğini test eder.

Testler, bu görevin 2. sürümü kullanılarak birden çok aracıya dağıtılabilir. Daha fazla bilgi için bkz. Testleri paralel çalıştır ve Visual Studio Test görevi adresine bakınız.

Önkoşulları denetleme

Eğer Windows'ta kendi kendine barındırılan bir ajanı kullanıyorsanız, şu ön koşulun kurulması gerekir:

Talep

Aracı aşağıdaki özelliğe sahip olmalıdır:

vstest

Vstest talebi iki şekilde karşılanabilir:

  1. Visual Studio, ajan makinesine kuruludur.
  2. Visual Studio Test Platform Kurulum görevi pipeline tanımını kullanarak.

Veri kaynağı olarak TestCase kullanan testleri nasıl çalıştırabilirim?

TestCase'i veri kaynağı olarak kullanan otomatikleştirilmiş testleri çalıştırmak için aşağıdakiler gereklidir:

  1. Ajan makinesinde Visual Studio 2017.6 veya daha üzeri olması gerekir. Visual Studio Test Platform Installer görevi, TestCase'i veri kaynağı olarak kullanan testleri çalıştırmak için kullanılamaz.
  2. "İş Öğeleri (tam)" kapsamı için yetkilendirilmiş bir PAT oluşturun.
  3. Değeri önceki adımda oluşturulan PAT değerine ayarlanmış adlı güvenli bir derleme veya yayın değişkeni ekleyin.

Bu görevi veri odaklı (parametrizeli testler) için kullanabilir miyim?

Evet. Görev, yalnızca statik parametrelere sahip veri odaklı testleri destekler ve özel displayName içermez. Ürün hattınıza bir çevre değişkeni eklemeniz gerekmektedir:

  • MsTest için:
  • xUnit için:
  • nUnit için:

Parametrizlenmiş testler için VSTest@3 ortam değişkeninin ekran görüntüsü.

Bazı görev seçenekleriyle veriye dayalı xUnit, NUnit ve MSTest testlerini çalıştırırken sorunlarla karşılaşıyorum. Bilinen sınırlamalar var mı?

xUnit, NUnit ve MSTest test çerçevelerini kullanan veri temelli testlerin bilinen bazı sınırlamaları vardır ve aşağıdaki görev seçenekleriyle kullanılamaz:

  1. MsTest, xUnit ve nUnit testleri için başarısız testlerin yeniden çalıştırılması, statik parametreler içeren veri odaklı testlerle çalışır.
  2. Testleri birden çok aracıya dağıtma ve toplu işlem seçenekleri.
  3. Test Etkisi Analizi.

Yukarıdaki sınırlamaların nedeni, bu test çerçeveleri için bağdaştırıcıların veri temelli testleri bulma ve raporlama şeklidir.

VSTest görevi aynı anda birden çok hedef çerçeveyi hedefleyen testleri çalıştırmayı destekliyor mu?

Evet, sürüm VSTest'ten başlayarak, aynı anda birden çok hedef çerçeveyi hedefleyen testlerin çalıştırılmasını destekler. Bundan önce, VSTest platformu tarafındaki bir sınırlama nedeniyle bu mümkün değildi.

Birden fazla hedef framework'e ait testler yapmak istiyorsanız, Visual Studio Test Platform Installer0 üzerinden uyumlu bir VSTest sürümünü kurmanız ve 'yi olarak ayarlamanız gerekir.

Test sonucu yayımlanırken şu hata alınıyor: Test sonuçları yayımlanamadı: Geçersiz Öncelik belirtildi mi?

Bu hata, test yöntemlerinden herhangi birinin önceliği 255'in üzerinde ayarlanmışsa oluşur, koddaki test yöntemi önceliğini düzeltir ve testleri yeniden yürütür. 255'ten büyük önceliğe sahip tüm testleri görmek için oluşturulan trx dosyasını gözden geçirebilirsiniz.

Tümleştirme testlerinde AzurePipelinesCredential kullanma

.NET, C++, Go, Java, JavaScript ve Python için Azure Identity kütüphaneleri, iş yükü kimlik federasyonu için destek sağlar; böylece AzureCLI@2 ve AzurePowerShell@5 görevlerinden çalıştırılan kod, Microsoft Entra ID ile (örneğin, erişim için doğrulanabilir) Azure) AzurePipelinesCredential sınıfını kullanıyor.

Birçok müşteri, diğer görevlerden çağrılan entegrasyon testlerinde Azure SDK istemci kütüphanelerini kullanıyor. DotNetCoreCLI@2, Maven@4 ve VSTest@3 görevleri AzurePipelinesCredential sınıfı kullanarak Azure kaynaklara erişebilir.

connectedServiceName özelliğini, iş yükü kimlik federasyonuyla yapılandırılmış bir Azure servis bağlantısına ayarlayabilirsiniz. için SYSTEM_ACCESSTOKEN ayarlanması gerekir.

Aşağıdaki örnekte, görevdeki girişi gösterilmektedir. ve kullanımı benzerdir.

- task: DotNetCoreCLI@2
  inputs:
    command: 'run'
    connectedServiceName: <Azure service connection configured with workload identity federation>
  env:
    SYSTEM_ACCESSTOKEN: $(System.AccessToken)

hakkında daha fazla bilgi için bkz. AzurePipelinesCredential.

Gereksinim -leri

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalışır Aracı, DeploymentGroup
Talepleri Şirket içinde barındırılan aracıların, bu görevi kullanan işleri çalıştırmak için taleplerine uyan özellikleri olmalıdır: vstest
Özellikleri Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi
Ayarlanabilir değişkenleri Herhangi
Aracı sürümü 2.144.0 veya üzeri
Görev kategorisi Sınav