Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Gunakan tugas ini untuk menjalankan pengujian unit dan fungsional (Selenium, Appium, uji antarmuka pengguna kode, dll.) menggunakan runner Visual Studio Test (VSTest). Anda dapat menjalankan kerangka kerja pengujian yang memiliki adaptor pengujian Visual Studio. Contoh kerangka kerja adalah MSTest, xUnit, NUnit, Chutzpah (untuk tes JavaScript menggunakan QUnit, Mocha dan Jasmine), dll. Pengujian dapat didistribusikan pada beberapa agen menggunakan tugas ini.
Nota
VSTest@3 adalah versi terbaru tugas dan harus digunakan dalam alur Anda.
Nota
Tugas VSTest@3 tidak dapat menjalankan ulang pengujian berbasis Data yang gagal.
Nota
Tugas VSTest Azure khusus untuk VSTest-platform. Itu tidak mendukung Microsoft.Testing.Platform (MTP) yang lebih baru.
Sintaksis
# 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.
Input
azureSubscription
-
koneksi Azure Resource Manager
Alias input: ConnectedServiceName.
string.
Tentukan koneksi layanan Azure Resource Manager yang dikonfigurasi dengan federasi identitas beban kerja untuk menggunakan AzurePipelinesCredential dalam pengujian integrasi. Untuk informasi selengkapnya, lihat Menggunakan AzurePipelinesCredential dalam pengujian integrasi.
Nota
Input ini hanya mendukung koneksi layanan ARM yang dikonfigurasi untuk menggunakan federasi identitas beban kerja.
testSelector
-
Pilih pengujian menggunakan
string. Diperlukan. Nilai yang diizinkan: testAssemblies (Uji rakitan), testPlan (Rencana pengujian), testRun (Uji coba). Nilai default: testAssemblies.
- Uji rakitan: Menentukan satu atau beberapa rakitan pengujian yang berisi pengujian Anda. Anda dapat secara opsional menentukan kriteria filter untuk memilih hanya pengujian tertentu.
- Paket pengujian: Menjalankan pengujian dari paket pengujian Anda yang memiliki metode pengujian otomatis yang terkait dengannya. Untuk mempelajari selengkapnya tentang cara mengaitkan pengujian dengan item kerja kasus pengujian, lihat Mengaitkan pengujian otomatis dengan kasus pengujian.
- Uji coba: Gunakan opsi ini saat Anda menyiapkan lingkungan untuk menjalankan pengujian dari rencana pengujian . Opsi ini tidak boleh digunakan saat menjalankan pengujian dalam alur integrasi berkelanjutan/penyebaran berkelanjutan (CI/CD).
testAssemblyVer2
-
Menguji file
string. Diperlukan saat testSelector = testAssemblies. Nilai default: **\bin\**\*test.dll\n**\bin\**\*tests.dll.
Menjalankan pengujian dari file yang ditentukan. Pengujian dan webtest yang diurutkan dapat dijalankan dengan menentukan file .orderedtest dan .webtest masing-masing. Untuk menjalankan .webtest, Visual Studio 2017 Update 4 atau yang lebih tinggi diperlukan. Jalur file relatif terhadap folder pencarian. Input ini mendukung beberapa baris pola minimatch .
# Example
- task: VSTest@3
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
rencana Pengujian
string. Diperlukan saat testSelector = testPlan.
Menentukan rencana pengujian yang berisi rangkaian pengujian dengan kasus pengujian otomatis.
string. Diperlukan saat testSelector = testPlan.
Menentukan satu atau beberapa rangkaian pengujian yang berisi kasus pengujian otomatis. Item kerja kasus pengujian harus dikaitkan dengan metode pengujian otomatis .
Konfigurasi pengujian
string. Diperlukan saat testSelector = testPlan.
Menentukan konfigurasi pengujian.
tcmTestRun
-
Uji Coba
string. Fakultatif. Gunakan saat testSelector = testRun. Nilai default: $(test.RunId).
Menentukan pilihan berbasis eksekusi pengujian yang digunakan saat memicu eksekusi pengujian otomatis dari rencana pengujian . Opsi ini tidak dapat digunakan untuk menjalankan pengujian di alur CI/CD.
folder Pencarian
string. Diperlukan. Nilai default: $(System.DefaultWorkingDirectory).
Menentukan folder untuk mencari rakitan pengujian.
resultsFolder
-
Folder hasil pengujian
string. Nilai default: $(Agent.TempDirectory)\TestResults.
Menentukan folder untuk menyimpan hasil pengujian. Saat menggunakan direktori default, direktori dibersihkan di akhir eksekusi alur. Direktori hasil akan selalu dibersihkan di awal tugas vstest sebelum pengujian dijalankan. Jalur folder relatif, jika disediakan, akan dianggap relatif terhadap $(Agent.TempDirectory).
Kriteria filter uji
string. Fakultatif. Gunakan saat testSelector = testAssemblies.
Menentukan kriteria tambahan untuk memfilter pengujian dari rakitan pengujian. Misalnya: Priority=1|Name=MyTestMethod. Anda dapat menggunakannya - untuk meniadakan filter. Untuk informasi selengkapnya tentang filter dan opsi, lihat Mencari dan memfilter daftar pengujian.
Pelajari tentang opsi baris perintah .
runOnlyImpactedTests
-
Jalankan hanya tes yang terkena dampak
boolean. Fakultatif. Gunakan saat testSelector = testAssemblies. Nilai default: False.
Secara otomatis menentukan dan menjalankan pengujian yang diperlukan untuk memvalidasi perubahan kode. Pelajari tentang menggunakan Test Impact Analysis.
runAllTestsAfterXBuilds
-
Jumlah build setelah itu semua pengujian harus dijalankan
string. Fakultatif. Gunakan saat testSelector = testAssemblies && runOnlyImpactedTests = true. Nilai default: 50.
Menentukan jumlah build yang akan dijalankan sebelum semua pengujian dijalankan secara otomatis. Analisis Dampak Pengujian menyimpan pemetaan antara kasus pengujian dan kode sumber. Disarankan untuk meregenerasi pemetaan dengan menjalankan semua pengujian secara teratur.
uiTests
-
Test mix berisi pengujian UI
boolean. Nilai default: false.
Untuk menjalankan pengujian UI, pastikan bahwa agen diatur untuk berjalan dalam mode interaktif
vstestLocationMethod
-
Pilih platform pengujian menggunakan
string. Nilai yang diizinkan: version, location (Lokasi tertentu). Nilai default: version.
Menentukan platform pengujian mana yang akan digunakan.
vsTestVersion
-
Uji versi platform
string. Fakultatif. Gunakan saat vstestLocationMethod = version. Nilai yang diizinkan: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (Diinstal oleh Alat Penginstal). Nilai default: latest.
Menentukan versi Visual Studio Test yang akan digunakan. Jika terbaru ditentukan, input ini memilih versi terbaru (dari daftar nilai yang diizinkan) yang diinstal. Untuk menjalankan pengujian tanpa memerlukan Visual Studio pada agen, gunakan opsi Diinstal oleh alat penginstal. Pastikan untuk menyertakan tugas Visual Studio Test Platform Installer untuk memperoleh platform pengujian dari NuGet.
Jalur vstestLocation - ke vstest.console.exe
string. Fakultatif. Gunakan saat vstestLocationMethod = location.
Menentukan jalur ke VSTest.
file Pengaturan
string.
Menentukan jalur ke file runsettings atau testsettings untuk digunakan dengan pengujian. Untuk Visual Studio 15.7 dan yang lebih tinggi, gunakan runsettings untuk semua jenis pengujian. Pelajari selengkapnya tentang mengonversi file .testsettings ke file .runsettings.
overrideTestrunParameters
-
Mengambil alih parameter eksekusi pengujian
string.
Mengambil alih parameter yang ditentukan di bagian TestRunParameters file runsettings atau bagian Properties file testsettings. Misalnya: -key1 value1 -key2 value2.
Catatan: Properti yang ditentukan dalam file testsettings dapat diakses melalui TestContext menggunakan Visual Studio 2017 (pembaruan 4 atau lebih tinggi).
pathtoCustomTestAdapters
-
Jalur ke adaptor pengujian kustom
string.
Menentukan jalur direktori ke adaptor pengujian kustom. Adaptor yang berada di folder yang sama dengan rakitan pengujian secara otomatis ditemukan.
runInParallel
-
Jalankan pengujian secara paralel pada komputer multi-inti
boolean. Nilai default: False.
Jika diatur ke true, pengujian dijalankan secara paralel dan memanfaatkan inti komputer yang tersedia. Ini akan mengambil alih MaxCpuCount jika ditentukan dalam file runsettings Anda. Pelajari selengkapnya tentang cara pengujian dijalankan secara paralel.
runTestsInIsolation
-
Menjalankan pengujian dalam isolasi
boolean. Nilai default: False.
Menjalankan pengujian dalam proses yang terisolasi. Ini kemungkinan menyebabkan lebih sedikit kesalahan dalam proses pengujian vstest.console.exe, tetapi pengujian mungkin berjalan lebih lambat. Opsi ini saat ini tidak dapat digunakan saat berjalan dengan pengaturan pekerjaan multi-agen.
cakupan kode codeCoverageEnabled - diaktifkan
boolean. Nilai default: False.
Mengumpulkan informasi cakupan kode dari eksekusi pengujian.
otherConsoleOptions
-
Opsi konsol lain
string.
Opsi konsol lain yang dapat diteruskan ke vstest.console.exe.
Opsi ini tidak didukung dan akan diabaikan saat menjalankan pengujian menggunakan pengaturan paralel multi-agen
pengujian
string. Nilai yang diizinkan: basedOnTestCases (Berdasarkan jumlah pengujian dan agen), basedOnExecutionTime (Berdasarkan waktu pengujian yang berjalan sebelumnya), basedOnAssembly (Berdasarkan rakitan pengujian). Nilai default: basedOnTestCases.
Batch adalah sekelompok tes. Batch pengujian menjalankan pengujiannya secara bersamaan, dan hasilnya diterbitkan untuk batch. Jika pekerjaan di mana tugas berjalan diatur untuk menggunakan beberapa agen, setiap agen mengambil batch pengujian yang tersedia untuk dijalankan secara paralel. Batch dapat dijalankan:
berdasarkan jumlah tes dan agen. Batching sederhana berdasarkan jumlah pengujian dan agen yang berpartisipasi dalam uji coba.
berdasarkan waktu pengujian yang berjalan sebelumnya. Batching ini mempertimbangkan waktu berjalan sebelumnya untuk membuat batch pengujian di mana setiap batch memiliki waktu berjalan yang kira-kira sama.
berdasarkan rakitan pengujian. Pengujian dari rakitan di-batch bersama-sama.
batchingBasedOnAgentsOption
-
opsi Batch
string. Fakultatif. Gunakan saat distributionBatchType = basedOnTestCases. Nilai yang diizinkan: autoBatchSize (Secara otomatis menentukan ukuran batch), customBatchSize (Tentukan ukuran batch). Nilai default: autoBatchSize.
Menentukan batching sederhana berdasarkan jumlah pengujian dan agen yang berpartisipasi dalam uji coba. Ketika ukuran batch ditentukan secara otomatis, setiap batch berisi (total number of tests / number of agents) pengujian. Jika ukuran batch ditentukan, setiap batch akan berisi jumlah pengujian yang ditentukan.
customBatchSizeValue
-
Jumlah pengujian per batch
string. Diperlukan saat distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Nilai default: 10.
Menentukan ukuran batch.
batchingBasedOnExecutionTimeOption
-
opsi Batch
string. Fakultatif. Gunakan saat distributionBatchType = basedOnExecutionTime. Nilai yang diizinkan: autoBatchSize (Secara otomatis menentukan waktu batch), customTimeBatchSize (Tentukan waktu berjalan per batch). Nilai default: autoBatchSize.
Batching ini mempertimbangkan waktu berjalan sebelumnya untuk membuat batch pengujian di mana setiap batch memiliki waktu berjalan yang kira-kira sama. Pengujian yang berjalan cepat akan di-batch bersama-sama, sementara pengujian yang berjalan lebih lama mungkin termasuk dalam batch terpisah. Ketika opsi ini digunakan dengan pengaturan pekerjaan multi-agen, total waktu pengujian dikurangi menjadi minimum.
customRunTimePerBatchValue
-
Waktu berjalan (dtk) per batch
string. Diperlukan saat distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Nilai default: 60.
Menentukan waktu berjalan (dalam detik) per batch.
dontDistribute
-
Mereplikasi pengujian alih-alih mendistribusikan ketika beberapa agen digunakan dalam pekerjaan
boolean. Nilai default: False.
Memilih opsi ini tidak akan mendistribusikan pengujian di seluruh agen saat tugas berjalan dalam pekerjaan multi-agen. Setiap pengujian yang dipilih akan diulang pada setiap agen. Opsi ini tidak berlaku ketika pekerjaan agen dikonfigurasi untuk berjalan tanpa paralelisme atau dengan opsi multi-konfigurasi.
testRunTitle
-
Judul uji coba
string.
Menentukan nama untuk eksekusi pengujian.
platform Build
string.
Menentukan platform build tempat pengujian harus dilaporkan. Jika Anda telah menentukan variabel untuk platform dalam tugas build Anda, gunakan itu dengan input ini.
konfigurasi Build
string.
Menentukan konfigurasi build tempat pengujian harus dilaporkan. Jika Anda telah menentukan variabel untuk konfigurasi dalam tugas build Anda, gunakan variabel tersebut dengan input ini.
publishRunAttachments
-
Mengunggah lampiran pengujian
boolean. Nilai default: true.
Memilih ikut atau keluar dari penerbitan lampiran tingkat eksekusi.
donotPublishTestResults
-
Menonaktifkan hasil pengujian publikasi
boolean. Fakultatif. Gunakan saat runInParallel = false. Nilai default: false.
Jika opsi ini diaktifkan, hasil pengujian tidak akan dipublikasikan sebagai bagian dari tugas ini. Gunakan tugas Publikasikan Hasil Pengujian sebagai gantinya.
failOnMinTestsNotRun
-
Gagal tugas jika jumlah minimum pengujian tidak dijalankan.
boolean. Nilai default: False.
Gagal tugas jika jumlah minimum pengujian tidak dijalankan. Ini mungkin berguna jika ada perubahan pada input tugas atau dependensi adaptor pengujian yang mendasar hanya menyebabkan subset pengujian yang diinginkan ditemukan.
minimumExpectedTests
-
Minimum # tes
string. Fakultatif. Gunakan saat failOnMinTestsNotRun = true. Nilai default: 1.
Menentukan jumlah minimum pengujian yang akan dijalankan agar tugas berhasil. Total pengujian yang dijalankan dihitung sebagai jumlah pengujian yang lulus, gagal, dan dibatalkan.
diagnosticsEnabled
-
Kumpulkan diagnostik tingkat lanjut jika terjadi kegagalan bencana
boolean. Nilai default: false.
Mengumpulkan data diagnostik untuk memecahkan masalah kegagalan bencana, seperti crash pengujian. Ketika opsi ini dicentang, file XML urutan dihasilkan dan dilampirkan ke eksekusi pengujian. File urutan berisi informasi tentang urutan di mana pengujian telah berjalan, sehingga pengujian pelaku potensial dapat diidentifikasi.
collectDumpOn
-
Kumpulkan dump proses dan lampirkan ke laporan eksekusi pengujian
string. Fakultatif. Gunakan saat diagnosticsEnabled = true. Nilai yang diizinkan: onAbortOnly (Hanya dibatalkan), always, never. Nilai default: onAbortOnly.
Mengumpulkan cadangan mini yang dapat digunakan untuk analisis lebih lanjut.
- onAbortOnly - cadangan mini hanya akan dikumpulkan ketika uji coba dibatalkan.
- Always - cadangan mini akan selalu dikumpulkan terlepas dari apakah uji coba selesai atau tidak.
- Never - cadangan mini tidak akan dikumpulkan terlepas dari apakah uji coba selesai atau tidak.
rerunFailedTests
-
Menjalankan ulang pengujian yang gagal
boolean. Nilai default: False.
Jalankan ulang pengujian yang gagal hingga lulus atau hingga jumlah maksimum upaya tercapai.
rerunType
-
Jangan jalankan ulang jika kegagalan pengujian melebihi ambang batas yang ditentukan
string. Fakultatif. Gunakan saat rerunFailedTests = true. Nilai yang diizinkan: basedOnTestFailurePercentage (kegagalan%), basedOnTestFailureCount (# pengujian yang gagal). Nilai default: basedOnTestFailurePercentage.
Menghindari pengujian rerunning ketika tingkat kegagalan melewati ambang yang ditentukan. Ini berlaku jika masalah lingkungan menyebabkan kegagalan besar-besaran. Anda dapat menentukan persentase kegagalan atau jumlah pengujian yang gagal sebagai ambang batas.
kegagalan
string. Fakultatif. Gunakan saat rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. Nilai default: 30.
Menghindari pengujian rerunning ketika persentase kasus pengujian yang gagal melewati ambang yang ditentukan. Ini berlaku jika masalah lingkungan menyebabkan kegagalan besar-besaran.
rerunFailedTestCasesMaxLimit
-
# dari pengujian yang gagal
string. Fakultatif. Gunakan saat rerunFailedTests = true && rerunType = basedOnTestFailureCount. Nilai default: 5.
Menghindari pengujian rerunning ketika jumlah kasus pengujian yang gagal melewati batas yang ditentukan. Ini berlaku jika masalah lingkungan menyebabkan kegagalan besar-besaran.
rerunMaxAttempts
-
Maksimum # upaya
string. Fakultatif. Gunakan saat rerunFailedTests = true. Nilai default: 3.
Menentukan berapa kali pengujian yang gagal harus dicoba kembali. Jika pengujian lolos sebelum jumlah maksimum upaya tercapai, pengujian tidak akan dijalankan ulang lagi.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugasnya. Untuk informasi selengkapnya, lihat opsi Kontrol dan properti tugas umum.
Variabel output
Tidak.
Komentar
Gunakan tugas ini untuk menjalankan pengujian unit dan fungsional (Selenium, Appium, pengujian antarmuka pengguna berkode, dan lainnya) menggunakan runner Visual Studio Test. Seiring dengan pengujian berbasis MSTest, kerangka kerja pengujian yang memiliki adaptor pengujian Visual Studio juga dapat dijalankan, seperti xUnit, NUnit, atau Chutzpah.
Menguji bahwa kerangka kerja inti .NET target dapat dijalankan dengan menentukan nilai kerangka kerja target yang sesuai dalam file .runsettings .
Pengujian dapat didistribusikan pada beberapa agen menggunakan versi 2 dari tugas ini. Untuk informasi selengkapnya, lihat Menjalankan pengujian secara paralel menggunakan tugas Pengujian Visual Studio.
Periksa prasyarat
Jika Anda menggunakan agen yang dihost sendiri Windows, prasyarat ini harus diinstal:
- .NET Framework 4.6.2 atau versi yang lebih baru
Tuntutan
Agen harus memiliki kemampuan berikut:
vstest
Permintaan vstest dapat dipenuhi dengan dua cara:
- Visual Studio diinstal pada komputer agen.
- Dengan menggunakan tugas Penginstal Platform Pengujian Visual Studio
dalam definisi alur.
Bagaimana cara menjalankan pengujian yang menggunakan TestCase sebagai sumber data?
Untuk menjalankan pengujian otomatis yang menggunakan TestCase sebagai sumber data, berikut ini diperlukan:
- Anda harus memiliki Visual Studio 2017.6 atau yang lebih tinggi di komputer agen. Tugas Penginstal Platform Uji Visual Studio tidak dapat digunakan untuk menjalankan pengujian yang menggunakan TestCase sebagai sumber data.
- Buat PAT
yang diotorisasi untuk cakupan "Item Kerja (penuh)". - Tambahkan variabel build atau rilis aman yang disebut
Test.TestCaseAccessTokendengan nilai yang diatur ke PAT yang dibuat di langkah sebelumnya.
Saya mengalami masalah saat menjalankan pengujian xUnit, NUnit, dan MSTest berbasis data dengan beberapa opsi tugas. Apakah ada batasan yang diketahui?
Pengujian berbasis data yang menggunakan kerangka kerja pengujian xUnit, NUnit, dan MSTest memiliki beberapa batasan yang diketahui dan tidak dapat digunakan dengan opsi tugas berikut:
- Jalankan ulang pengujian yang gagal.
- Mendistribusikan pengujian pada beberapa agen dan opsi batching.
- Analisis Dampak Pengujian.
Batasan di atas adalah karena bagaimana adaptor untuk kerangka kerja pengujian ini menemukan dan melaporkan pengujian berbasis data.
Apakah tugas VSTest mendukung pengujian yang menargetkan beberapa kerangka kerja target sekaligus?
Ya, mulai dari versi 17.3 VSTest mendukung pengujian yang berjalan yang menargetkan beberapa kerangka kerja target pada satu waktu.
Sebelum itu, ini tidak dimungkinkan karena batasan dari platform VSTest sisi.
Jika Anda ingin menjalankan pengujian yang termasuk dalam beberapa kerangka kerja target, Anda harus menginstal versi VSTest yang kompatibel melalui Visual Studio Test Platform Installer dan mengatur vsTestVersion ke toolsInstaller untuk menggunakannya.
Saat menerbitkan hasil pengujian, mendapatkan kesalahan ini: Gagal menerbitkan hasil pengujian: Prioritas Tidak Valid ditentukan?
Kesalahan ini terjadi jika salah satu metode pengujian memiliki prioritas yang ditetapkan di atas 255, perbaiki prioritas metode pengujian dalam kode dan jalankan pengujian lagi. Anda dapat meninjau file trx yang dihasilkan untuk melihat semua pengujian yang memiliki prioritas lebih besar dari 255.
Menggunakan AzurePipelinesCredential dalam pengujian integrasi
Pustaka Azure Identity untuk .NET, C++, Go, Java, JavaScript, dan Python menyediakan dukungan untuk federasi identitas beban kerja, sehingga kode yang dijalankan dari tugas AzureCLI@2 dan AzurePowerShell@5 dapat mengautentikasi dengan ID Microsoft Entra (misalnya, untuk mengakses Azure) menggunakan kelas AzurePipelinesCredential.
Banyak pelanggan menggunakan pustaka klien Azure SDK dalam pengujian integrasi yang dipanggil dari tugas lain. Tugas DotNetCoreCLI@2, Maven@4, dan VSTest@3 dapat mengakses sumber daya Azure menggunakan kelas AzurePipelinesCredential.
Anda dapat mengatur properti connectedServiceName ke koneksi layanan Azure yang dikonfigurasi dengan federasi identitas beban kerja.
AzurePipelinesCredential mengharuskan SYSTEM_ACCESSTOKEN diatur.
Contoh berikut menunjukkan input connectedServiceName pada tugas DotNetCoreCLI@2. penggunaan VSTest@3 dan Maven@4 serupa.
- task: DotNetCoreCLI@2
inputs:
command: 'run'
connectedServiceName: <Azure service connection configured with workload identity federation>
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
Untuk informasi selengkapnya tentang AzurePipelinesCredential, lihat Meningkatkan postur keamanan di koneksi layanan Azure dengan AzurePipelinesCredential.
Persyaratan
| Syarat | Deskripsi |
|---|---|
| Jenis alur | YAML, Build klasik, Rilis klasik |
| Berjalan pada | Agen, DeploymentGroup |
| Permintaan |
Agen yang dihost sendiri harus memiliki kemampuan yang cocok dengan berikut menuntut untuk menjalankan pekerjaan yang menggunakan tugas ini: vstest |
| Kemampuan |
Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan. |
| pembatasan Perintah |
Apa pun |
| variabel yang Dapat Diatur |
Apa pun |
| Versi agen | 2.144.0 atau lebih tinggi |
| Kategori tugas | Ujian |