Bagikan melalui


Tanya Jawab Umum Visual Studio Test Explorer

Penemuan pengujian dinamis

Test Explorer tidak menemukan pengujian saya yang ditentukan secara dinamis (misalnya, teori, adaptor kustom, sifat kustom, dan pernyataan #ifdef). Bagaimana cara memastikannya menemukan tes ini?

Bangun proyek Anda untuk menjalankan penemuan berbasis perakitan.

Penemuan pengujian waktu nyata adalah penemuan pengujian berbasis sumber. Ini tidak dapat menemukan pengujian yang menggunakan teori, adaptor kustom, karakteristik kustom, pernyataan #ifdef, dan banyak lagi karena didefinisikan pada waktu eksekusi. Versi atau kompilasi diperlukan agar pengujian tersebut dapat dijalankan dengan akurat.

Di Visual Studio 2017 versi 15.6 dan yang lebih baru, penemuan berbasis assembly (penemu tradisional) hanya berjalan setelah build. Pengaturan ini berarti penemuan pengujian real-time menemukan pengujian sebanyak mungkin saat Anda mengedit. 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 arti simbol plus yang muncul di baris atas Test Explorer?

Simbol plus (+) menunjukkan bahwa lebih banyak pengujian mungkin ditemukan setelah build ketika penemuan berbasis assembly dijalankan. Simbol ini muncul jika pengujian yang ditentukan secara dinamis terdeteksi dalam proyek Anda.

Cuplikan layar yang memperlihatkan baris ringkasan dengan simbol plus.

Penemuan pengujian waktu nyata

Pengujian sekarang muncul di Test Explorer saat saya mengetik, tanpa mengharuskan saya membangun proyek saya. 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 Anda. Untuk informasi selengkapnya tentang perilaku penemuan pengujian untuk pengujian yang ditentukan secara dinamis seperti teori atau sifat kustom, lihat Penemuan pengujian dinamis sebelumnya dalam artikel ini.

Kompatibilitas untuk penemuan uji coba waktu nyata

Bahasa dan kerangka kerja pengujian apa yang dapat menggunakan penemuan pengujian real time?

Penemuan pengujian real time hanya berfungsi untuk bahasa terkelola (C# dan Visual Basic), karena dibangun melalui kompilator Roslyn. Untuk saat ini, penemuan pengujian real-time hanya berfungsi untuk kerangka kerja xUnit, NUnit, dan MSTest.

Menguji log Penjelajah

Bagaimana cara mengaktifkan log untuk Test Explorer?

Pergi ke Alat>Opsi>Uji dan temukan bagian Pengelogan di sana.

Penemuan pengujian UWP

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

Pengujian Universal Windows Platform (UWP) menargetkan runtime yang berbeda saat aplikasi disebarkan. Untuk menemukan pengujian secara akurat untuk proyek UWP, Anda tidak hanya perlu membangun proyek Anda tetapi juga menyebarkannya.

Pengurutan pada Test Explorer

Bagaimana cara kerja pengurutan hasil pengujian dalam tampilan hierarki?

Tampilan hierarki mengurutkan pengujian menurut abjad, bukan berdasarkan hasil. Pengaturan pengelompokan sebelumnya mengurutkan hasil pengujian berdasarkan hasil dan kemudian menurut abjad. Anda masih bisa mengaktifkan pengurutan berdasarkan hasil dengan mengklik kanan header kolom di Test Explorer, mengaktifkan kolom Status, lalu memilih header kolom Status untuk menerapkan pengurutan pada kolom tersebut. Anda dapat memberikan umpan balik tentang desain di isu GitHub ini.

Tampilan hierarki pada Test Explorer

Dalam tampilan hierarki, terdapat ikon lulus, gagal, terlewati, dan tidak dijalankan di samping pengelompokan node-induk. Apa arti ikon ini?

Ikon di samping Project, Namespace, dan Class groupings menunjukkan status pengujian dalam setiap pengelompokan. Lihat tabel berikut ini.

Tabel ikon hierarki di Test Explorer.

Pencarian menurut jalur file

Mengapa tidak ada lagi filter jalur file di kotak pencarian Test Explorer?

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

Penghapusan 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 didokumenkan secara resmi akan dihapus. Mereka ditandai sebagai usang di Visual Studio 2017 untuk memberi peringatan dini kepada pemelihara ekstensi. Sepengetahuan kami, sangat sedikit ekstensi yang menemukan API ini dan mengambil dependensi pada mereka. Mereka termasuk IGroupByProvider, IGroupByProvider<T>, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken, dan SearchFilterTokenType.

Jika perubahan ini memengaruhi ekstensi Anda, beri tahu kami dengan mengajukan bug pada Komunitas Pengembang.

Referensi NuGet adaptor pengujian

Mengapa pengujian saya tidak berjalan di Visual Studio 2017 versi 15.8, walaupun telah terdeteksi?

Semua proyek pengujian harus menyertakan referensi NuGet adaptor uji .NET mereka dalam file .csproj mereka. Jika pengujian tidak berhasil, output pengujian berikut akan muncul pada proyek jika penemuan oleh ekstensi adaptor pengujian dimulai setelah build, atau jika Anda mencoba menjalankan pengujian yang dipilih.

Proyek pengujian {} tidak mereferensikan adaptor .NET NuGet apa pun. Uji penemuan atau eksekusi mungkin tidak berfungsi untuk proyek ini. Disarankan untuk mereferensikan adaptor pengujian NuGet di setiap proyek pengujian .NET dalam solusi.

Alih-alih menggunakan ekstensi adaptor pengujian, proyek diwajibkan menggunakan paket NuGet adaptor pengujian. Persyaratan ini sangat meningkatkan performa dan menyebabkan lebih sedikit masalah dengan integrasi berkelanjutan. Baca selengkapnya tentang penghentian ekstensi adaptor pengujian .NET dalam catatan rilis .

UWP TestContainer tidak ditemukan

Mengapa pengujian UWP saya tidak lagi berjalan di Visual Studio 2017 versi 15.7 dan yang lebih baru?

Proyek pengujian UWP terbaru menentukan properti build 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 melihat kesalahan ini dalam Output>Pengujian:

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

Untuk memperbaiki kesalahan ini:

  • Perbarui properti build untuk proyek pengujian Anda dengan menggunakan kode berikut:

    <UnitTestPlatformVersion Condition="'$(UnitTestPlatformVersion)' == ''">$(VisualStudioVersion)</UnitTestPlatformVersion>
    
  • Perbarui versi TestPlatform SDK dengan menggunakan kode berikut:

    <SDKReference Include="TestPlatform.Universal, Version=$(UnitTestPlatformVersion)" />
    

Fitur pratinjau

Bagaimana cara menggunakan fitur pratinjau di Visual Studio 2019?

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