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.
Microsoft.Testing.Platform adalah alternatif ringan dan portabel untuk VSTest untuk menjalankan pengujian di baris perintah, dalam alur integrasi berkelanjutan (CI), di Visual Studio Test Explorer, dan di Visual Studio Code. Dalam artikel ini, Anda mempelajari perbedaan utama antara Microsoft.Testing.Platform dan VSTest.
Perbedaan dalam eksekusi pengujian
Pengujian dilakukan dengan cara yang berbeda tergantung pada eksekutornya.
Menjalankan pengujian VSTest
VSTest dikirim dengan Visual Studio, .NET SDK, dan sebagai alat mandiri dalam paket Microsoft.TestPlatform NuGet. VSTest menggunakan executable runner untuk menjalankan tes, yang disebut vstest.console.exe, yang dapat digunakan secara langsung atau melalui dotnet test.
Menjalankan pengujian Microsoft.Testing.Platform
Microsoft.Testing.Platform disematkan langsung ke dalam proyek pengujian Anda dan tidak mengirimkan executable tambahan. Saat Anda menjalankan proyek yang dapat dieksekusi, pengujian Anda berjalan. Untuk informasi selengkapnya tentang menjalankan pengujian Microsoft.Testing.Platform, lihat gambaran umum Microsoft.Testing.Platform: Menjalankan dan men-debug pengujian.
Paket Namespace dan NuGet
Untuk membiasakan diri dengan Microsoft.Testing.Platform dan VSTest, sangat membantu untuk memahami namespace layanan dan paket NuGet yang digunakan oleh masing-masing.
Namespace VSTest
VSTest adalah kumpulan alat pengujian yang juga dikenal sebagai Test Platform. Kode sumber VSTest adalah sumber terbuka dan tersedia di repositori GitHub microsoft/vstest. Kode menggunakan namespace Microsoft.TestPlatform.*.
VSTest dapat diperluas dan jenis umum ditempatkan di paket Microsoft.TestPlatform.ObjectModel NuGet.
Namespace Microsoft.Testing.Platform
Microsoft.Testing.Platform didasarkan pada paket Microsoft.Testing.Platform NuGet dan pustaka lain di namespace Microsoft.Testing.*. Seperti VSTest, Microsoft.Testing.Platform adalah sumber terbuka dan memiliki repositori GitHub microsoft/testfx.
Protokol komunikasi
Nota
Visual Studio Test Explorer mendukung protokol Microsoft.Testing.Platform sejak 17.12 dan seterusnya. Jika Anda menjalankan/men-debug pengujian menggunakan versi Visual Studio yang lebih lama, Test Explorer akan menggunakan vstest.console.exe dan protokol lama untuk menjalankan pengujian ini.
Microsoft.Testing.Platform menggunakan protokol berbasis JSON-RPC untuk berkomunikasi antara Visual Studio dan proses runner pengujian. Protokol didokumenkan dalam repositori GitHub MSTest.
VSTest juga menggunakan protokol komunikasi berbasis JSON, tetapi tidak berbasis JSON-RPC.
Menonaktifkan protokol baru
Untuk menonaktifkan penggunaan protokol baru di Test Explorer, Anda dapat mengedit proyek untuk menambahkan properti berikut: <DisableTestingPlatformServerCapability>true</DisableTestingPlatformServerCapability>.
Anda juga dapat membuka opsi Pratinjau Fitur di Visual Studio dan membatalkan pilihan opsi "Gunakan mode server platform pengujian".
Berkas Eksekusi
VSTest mengirimkan beberapa executable, terutama vstest.console.exe, testhost.exe, dan datacollector.exe. Namun, Microsoft.Testing.Platform disematkan langsung ke dalam proyek pengujian Anda dan tidak mengirimkan executable lainnya. Berkas yang dapat dijalankan dari proyek pengujian Anda dikompilasi untuk menghosting semua alat pengujian dan melakukan semua tugas yang diperlukan untuk menjalankan pengujian.