Bagikan melalui


Opsi baris perintah VSTest.Console.exe

VSTest.Console.exe adalah alat baris perintah untuk menjalankan pengujian. Anda dapat menentukan beberapa opsi dalam urutan apa pun pada baris perintah. Opsi ini tercantum dalam Opsi baris perintah umum.

Catatan

Adapter MSTest dalam Visual Studio juga berfungsi dalam mode lama (setara dengan menjalankan pengujian dengan mstest.exe) untuk kompatibilitas. Dalam mode lama, adapter ini tidak dapat memanfaatkan fitur TestCaseFilter. Adapter dapat beralih ke legacy mode saat file testsettings ditentukan, forcelegacymode diatur ke true dalam file runsettings, atau dengan menggunakan atribut seperti HostType.

Untuk menjalankan pengujian otomatis pada komputer berbasis rancangan ARM, Anda harus menggunakan VSTest.Console.exe.

Buka Prompt Perintah Pengembang untuk menggunakan alat baris perintah, atau Anda dapat menemukan alat di %Program Files(x86)%\Microsoft Visual Studio\<version>\<edition>\common7\ide\CommonExtensions\<Platform | Microsoft>.

Periksa opsi baris perintah

Tabel berikut ini mencantumkan semua opsi untuk VSTest.Console.exe dan deskripsi singkatnya. Anda dapat melihat ringkasan serupa dengan mengetik VSTest.Console/? di baris perintah.

Opsi Deskripsi
[nama file pengujian] Jalankan pengujian dari file yang ditentukan. Pisahkan beberapa nama file pengujian dengan spasi.
Contoh: mytestproject.dll, mytestproject.dll myothertestproject.exe
/Settings:[nama file] Jalankan pengujian dengan pengaturan tambahan seperti pengumpul data. Untuk informasi selengkapnya, lihat Mengonfigurasi pengujian unit menggunakan file .runsettings
Contoh: /Settings:local.runsettings
/Tests:[nama pengujian] Jalankan pengujian dengan nama yang berisi nilai yang disediakan. Perintah ini cocok dengan nama pengujian lengkap, termasuk namespace layanan. Untuk menyediakan beberapa nilai, pisahkan dengan koma.
Contoh: /Tests:TestMethod1,testMethod2
Opsi baris perintah /Tests tidak dapat digunakan dengan opsi baris perintah /TestCaseFilter.
/Parallel Menentukan bahwa pengujian dijalankan secara paralel. Secara default, hingga semua inti yang tersedia pada komputer dapat digunakan. Anda dapat mengonfigurasi jumlah inti yang akan digunakan dalam file pengaturan.
/Enablecodecoverage Mengaktifkan CodeCoverage adapter diagnostik data dalam eksekusi pengujian.
Pengaturan default digunakan jika tidak ditentukan menggunakan file pengaturan.
/InIsolation Menjalankan pengujian dalam proses yang terisolasi.
Isolasi ini membuat proses vstest.console.exe cenderung tidak dihentikan pada kesalahan dalam pengujian, tetapi pengujian mungkin berjalan lebih lambat.
/UseVsixExtensions Opsi ini membuat proses vstest.console.exe menggunakan atau melewati ekstensi VSIX yang diinstal (jika ada) dalam eksekusi pengujian.
Opsi ini tidak digunakan lagi. Mulai dari rilis utama Visual Studio berikutnya, opsi ini dapat dihapus. Beralihlah ke menggunakan ekstensi yang disediakan sebagai paket NuGet.
Contoh: /UseVsixExtensions:true
/TestAdapterPath:[path] Memaksa proses vstest.console.exe untuk menggunakan adapter pengujian kustom dari jalur tertentu (jika ada) dalam eksekusi pengujian.
Contoh: /TestAdapterPath:[pathToCustomAdapters]
/Platform:[jenis platform] Memaksa platform yang diberikan untuk digunakan, bukan platform yang ditentukan dari runtime saat ini. Opsi ini hanya dapat memaksa platform x86 dan x64 pada Windows. Opsi ARM rusak dan akan menghasilkan x64 pada sebagian besar sistem.
JANGAN tentukan opsi ini untuk berjalan pada runtime yang tidak ada dalam daftar nilai yang valid seperti ARM64.
Nilai yang valid adalah x86, x64, dan ARM.
/Framework: [versi kerangka kerja] Targetkan versi .NET yang akan digunakan untuk eksekusi pengujian.
Contoh nilainya adalah Framework35, Framework40, Framework45, FrameworkUap10, .NETCoreApp,Version=v1.1.
TargetFrameworkAttribute digunakan untuk secara otomatis mendeteksi opsi ini dari rakitan Anda, dan diatur secara default ke Framework40 saat atribut tidak ada. Anda harus menentukan opsi ini secara eksplisit jika Anda menghapus TargetFrameworkAttribute dari rakitan .NET Core Anda.
Jika kerangka kerja target ditentukan sebagai Framework35, pengujian berjalan dalam "mode kompatibilitas" CLR 4.0.
Contoh: /Framework:framework40
/TestCaseFilter:[ekspresi] Jalankan pengujian yang cocok dengan ekspresi yang diberikan.
<Ekspresi> adalah format <property>=<value>[|<Ekspresi>].
Contoh: /TestCaseFilter:"Priority=1"
Contoh: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName"
Opsi baris perintah /TestCaseFilter tidak dapat digunakan dengan opsi baris perintah /Tests.
Untuk informasi tentang membuat dan menggunakan ekspresi, lihat Filter TestCase.
/? Menampilkan informasi penggunaan.
/Logger:[uri/friendlyname] Tentukan pencatat untuk hasil pengujian. Tentukan parameter beberapa kali untuk mengaktifkan beberapa pencatat.
Contoh: Untuk mencatat hasil ke Visual Studio File Hasil Pengujian (TRX), gunakan
/Logger:trx
[;LogFileName=<Default ke nama file unik>]
/ListTests:[nama file] Mencantumkan pengujian yang ditemukan dari kontainer pengujian yang diberikan.
Catatan: Opsi /TestCaseFilters tidak berpengaruh saat mencantumkan pengujian; opsi ini hanya mengontrol pengujian mana yang dijalankan.
/ListDiscoverers Mencantumkan penemu pengujian yang diinstal.
/ListExecutors Mencantumkan eksekutor pengujian yang diinstal.
/ListLoggers Mencantumkan pencatat pengujian yang diinstal.
/ListSettingsProviders Mencantumkan penyedia pengaturan pengujian yang diinstal.
/Blame Menjalankan tes dalam mode menyalahkan. Opsi ini sangat membantu dalam mengisolasi pengujian bermasalah yang menyebabkan host pengujian crash. Ketika crash terdeteksi, opsi ini membuat file urutan di TestResults/<Guid>/<Guid>_Sequence.xml yang menangkap urutan pengujian yang dijalankan sebelum crash. Untuk informasi selengkapnya, lihat Menyalahkan pengumpul data.
/Diag:[nama file] Menulis log jejak diagnostik ke file yang ditentukan.
/ResultsDirectory:[jalur] Direktori hasil pengujian akan dibuat di jalur yang ditentukan jika tidak ada.
Contoh: /ResultsDirectory:<pathToResultsDirectory>
/ParentProcessId:[parentProcessId] ID Proses dari Proses Induk yang bertanggung jawab untuk meluncurkan proses saat ini.
/Port:[port] Port untuk koneksi soket dan menerima pesan peristiwa.
/Collect:[dataCollector friendlyName] Mengaktifkan pengumpul data untuk eksekusi pengujian. Informasi selengkapnya.

Tip

Opsi dan nilai tidak peka huruf besar/kecil.

Contoh

Sintaks untuk menjalankan vstest.console.exe adalah:

vstest.console.exe [TestFileNames] [Options]

Secara default, perintah mengembalikan 0 ketika keluar secara normal, bahkan jika tidak ada pengujian yang ditemukan. Jika Anda ingin mengembalikan nilai bukan nol jika tidak ada pengujian yang ditemukan, gunakan <TreatNoTestsAsError>true</TreatNoTestsAsError> opsi runsettings.

Perintah berikut menjalankan vstest.console.exe untuk pustaka pengujian myTestProject.dll:

vstest.console.exe myTestProject.dll

Perintah berikut menjalankan vstest.console.exe dengan beberapa file pengujian. Pisahkan beberapa nama file pengujian dengan spasi:

vstest.console.exe myTestFile.dll myOtherTestFile.dll

Perintah berikut menjalankan vstest.console.exe dengan beberapa pilihan. Perintah ini menjalankan pengujian dalam file myTestFile.dll dalam proses terisolasi dan menggunakan pengaturan yang ditentukan dalam file Local.RunSettings. Selain itu, perintah ini hanya menjalankan pengujian bertanda "Priority=1", dan mencatat hasilnya ke file .trx.

vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx

Perintah berikut menjalankan vstest.console.exe dengan /blame pilihan untuk pustaka pengujian myTestProject.dll:

vstest.console.exe myTestFile.dll /blame

Jika terjadi crash host pengujian, file sequence.xml dihasilkan. File berisi nama pengujian yang sepenuhnya memenuhi syarat dalam urutan eksekusinya hingga dan termasuk pengujian tertentu yang berjalan pada saat crash.

Jika tidak ada crash host pengujian, file sequence.xml tidak akan dibuat.

Contoh file sequence.xml yang dihasilkan:

<?xml version="1.0"?>
<TestSequence>
  <Test Name="TestProject.UnitTest1.TestMethodB" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
  <Test Name="TestProject.UnitTest1.TestMethodA" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
</TestSequence>

Contoh UWP

Untuk UWP, file appxrecipe harus direferensikan, bukan DLL.

vstest.console.exe /Logger:trx /Platform:x64 /framework:frameworkuap10 UnitTestsUWP\bin\x64\Release\UnitTestsUWP.build.appxrecipe