Bagikan melalui


Tanya Jawab Umum Visual Studio Test Explorer

Penemuan pengujian dinamis

Test Explorer tidak menemukan pengujian saya yang didefinisikan secara dinamis. (Misalnya, teori, adapter kustom, sifat kustom, #ifdefs, dll.) Bagaimana cara menemukan pengujian tersebut?

Bangun proyek Anda untuk menjalankan penemuan berbasis rakitan.

Penemuan pengujian real time adalah penemuan pengujian berbasis sumber. Ini tidak dapat menemukan pengujian yang menggunakan teori, adapter kustom, sifat kustom, pernyataan #ifdef, dan banyak lagi karena ditentukan pada durasi. Build diperlukan agar pengujian tersebut ditemukan secara akurat. Dalam Visual Studio 2017 versi 15.6 dan yang lebih baru, penemuan berbasis rakitan (penemu tradisional) hanya berjalan setelah build. Pengaturan ini berarti penemuan pengujian real time menemukan pengujian sebanyak mungkin saat Anda mengedit, dan penemuan berbasis rakitan memungkinkan pengujian yang ditentukan secara dinamis muncul setelah build. Penemuan pengujian real time meningkatkan responsivitas, tetapi masih memungkinkan Anda untuk mendapatkan hasil yang lengkap dan tepat setelah build.

Simbol Test Explorer '+' (plus)

Apa makna simbol '+' (plus) yang muncul di baris atas Test Explorer?

Simbol '+' (plus) menunjukkan bahwa lebih banyak pengujian dapat ditemukan setelah build saat penemuan berbasis rakitan berjalan. Simbol ini muncul jika pengujian yang ditentukan secara dinamis terdeteksi dalam proyek Anda.

Plus symbol summary line

Penemuan pengujian real time

Pengujian sekarang muncul di Test Explorer saat saya mengetik, tanpa harus membangun proyek. Apa yang berubah?

Fitur ini disebut Penemuan pengujian real time. Ini menggunakan penganalisis Roslyn untuk menemukan pengujian dan mengisi Test Explorer secara real time, tanpa mengharuskan Anda untuk membangun proyek. Untuk informasi selengkapnya tentang perilaku penemuan pengujian untuk pengujian yang ditentukan secara dinamis seperti teori atau sifat kustom, lihat Penemuan pengujian dinamis.

Kompatibilitas penemuan pengujian real time

Bahasa komputer dan kerangka kerja pengujian apa yang dapat menggunakan Penemuan Pengujian Real Time?

Penemuan pengujian real time hanya berfungsi untuk bahasa komputer terkelola (C# dan Visual Basic), karena dibuat menggunakan pengompilasi Roslyn. Untuk saat ini, penemuan pengujian real time hanya berfungsi untuk kerangka kerja xUnit, NUnit, dan MSTest.

Log Test Explorer

Bagaimana cara mengaktifkan log untuk Test Explorer?

Navigasi ke Alat>Opsi>Pengujian dan temukan bagian Pengelogan di sana.

Penemuan pengujian UWP

Mengapa pengujian saya di proyek UWP tidak ditemukan sampai saya menyebarkan aplikasi saya?

Pengujian UWP menargetkan runtime bahasa umum yang berbeda saat aplikasi disebarkan. Ini berarti bahwa untuk menemukan pengujian proyek UWP secara akurat, Anda tidak hanya perlu membangun proyek, tetapi juga menyebarkan.

Pengurutan Test Explorer

Bagaimana cara kerja pengurutan hasil pengujian dalam tampilan hierarki?

Tampilan hierarki mengurutkan tes menurut abjad dan bukan menurut hasil. Grup sebelumnya berdasarkan pengaturan mengurutkan hasil tes menurut hasil dan kemudian menurut abjad. Anda masih bisa mengaktifkan pengurutan menurut hasil dengan mengeklik kanan header kolom di Test Explorer, mengaktifkan kolom Status, lalu mengeklik header kolom Status untuk menerapkan pengurutan pada kolom tersebut. Anda dapat memberikan umpan balik tentang desain dalam masalah GitHub ini.

Tampilan hierarki Test Explorer

Dalam tampilan hierarki, ada ikon lulus, gagal, dilewati, dan tidak dijalankan di samping pengelompokan node induk. Apa makna ikon tersebut?

Ikon di samping pengelompokan Proyek, Namespace Layanan, dan Kelas menunjukkan status pengujian dalam pengelompokan tersebut. Lihat tabel berikut.

Test Explorer Hierarchy Icons

Cari menurut jalur file

Tidak ada lagi filter "Jalur File" pada kotak pencarian Test Explorer.

Filter jalur file pada kotak pencarian Test Explorer dihapus di Visual Studio 2017 versi 15.7. Fitur ini memiliki penggunaan yang rendah, dan Test Explorer dapat mengambil metode pengujian lebih cepat dengan mengabaikan fitur ini. Jika perubahan ini mengganggu alur pengembangan Anda, beri tahu kami dengan mengirimkan umpan balik di Komunitas Pengembang.

Menghapus antarmuka yang tidak terdokumentasi

Beberapa API terkait pengujian tidak lagi ada di Visual Studio 2019. Apa yang berubah?

Di Visual Studio 2019, beberapa API jendela pengujian yang sebelumnya ditandai publik tetapi tidak pernah didokumentasikan secara resmi akan dihapus. API jendela pengujian tersebut ditandai sebagai "tidak digunakan lagi" di Visual Studio 2017 untuk memberikan peringatan dini kepada pengelola ekstensi. Sepengetahuan kami, sangat sedikit ekstensi yang menemukan API ini dan bergantung padanya. Ini termasuk IGroupByProvider, IGroupByProvider<T>, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken, dan SearchFilterTokenType. Jika perubahan ini memengaruhi ekstensi Anda, beri tahu kami dengan mengajukan bug di Komunitas Pengembang.

Referensi NuGet adapter pengujian

Dalam Visual Studio 2017 versi 15.8 pengujian saya ditemukan, tetapi tidak dijalankan.

Semua proyek pengujian harus menyertakan referensi NuGet adapter pengujian .NET-nya dalam file .csproj-nya. Jika tidak, output pengujian berikut muncul pada proyek jika penemuan oleh ekstensi adapter pengujian dimulai setelah build, atau jika pengguna mencoba menjalankan pengujian yang dipilih:

Proyek pengujian {} tidak mereferensikan adapter NuGet .NET apa pun. Penemuan atau eksekusi pengujian mungkin tidak berfungsi untuk proyek ini. Sebaiknya referensikan adapter pengujian NuGet di setiap proyek pengujian .NET dalam solusi.

Alih-alih menggunakan ekstensi adapter pengujian, proyek diperlukan untuk menggunakan paket NuGet adapter pengujian. Persyaratan ini sangat meningkatkan performa dan menghasilkan lebih sedikit masalah dengan integrasi berkelanjutan. Baca selengkapnya tentang penghentian Ekstensi Adapter Pengujian .NET dalam catatan rilis.

TestContainer UWP tidak ditemukan

Pengujian UWP saya tidak lagi dijalankan di Visual Studio 2017 versi 15.7 dan yang lebih baru.

Proyek pengujian UWP terbaru menentukan properti build platform pengujian yang memungkinkan performa yang lebih baik untuk mengidentifikasi aplikasi pengujian. Jika Anda memiliki proyek pengujian UWP yang diinisialisasi sebelum Visual Studio versi 15.7, Anda mungkin mengalami kesalahan ini dalam Output>Pengujian:

System.AggregateException: Satu atau beberapa kesalahan terjadi. ---> System.InvalidOperationException: TestContainer berikut tidak ditemukan {} di Microsoft.VisualStudio.TestWindow.Controller.TestContainerProvider <GetTestContainerAsync>d__61.MoveNext()

Untuk memperbaiki kesalahan ini:

  • Perbarui properti build proyek pengujian Anda menggunakan kode berikut:
<UnitTestPlatformVersion Condition="'$(UnitTestPlatformVersion)' == ''">$(VisualStudioVersion)</UnitTestPlatformVersion>
  • Perbarui versi SDK TestPlatform menggunakan kode berikut:
<SDKReference Include="TestPlatform.Universal, Version=$(UnitTestPlatformVersion)" />

Menggunakan fitur pratinjau

Di Visual Studio 2019, Anda dapat memilih fitur pratinjau di Alat > Opsi > Lingkungan > Fitur Pratinjau.