Menjalankan pengujian unit dengan Test Explorer

Gunakan Test Explorer untuk menjalankan pengujian unit dari Visual Studio atau proyek pengujian unit pihak ketiga. Anda juga dapat menggunakan Test Explorer untuk mengelompokkan pengujian ke dalam kategori, memfilter daftar pengujian, dan membuat, menyimpan, dan menjalankan daftar putar pengujian. Anda juga dapat menggunakan Test Explorer untuk men- debug pengujian unit dan, di Visual Studio Enterprise, untuk menganalisis cakupan kode.

Test Explorer dapat menjalankan pengujian dari beberapa proyek pengujian dalam suatu solusi dan dari kelas pengujian yang merupakan bagian dari proyek kode produksi. Proyek pengujian dapat menggunakan kerangka kerja pengujian unit yang berbeda. Saat kode yang diuji ditulis untuk .NET, proyek pengujian dapat ditulis dalam bahasa apa pun yang juga menargetkan .NET, terlepas dari bahasa kode target. Proyek kode C/C++ asli harus diuji dengan menggunakan kerangka pengujian unit C++.

Membangun proyek pengujian Anda

Jika Anda belum memiliki proyek pengujian yang disiapkan dalam solusi Visual Studio, Anda harus terlebih dahulu membuat dan membangun proyek pengujian.

Visual Studio menyertakan kerangka kerja pengujian unit Microsoft untuk kode terkelola dan asli. Namun, Test Explorer juga dapat menjalankan kerangka uji unit apa pun yang telah menerapkan adaptor Test Explorer. Untuk informasi selengkapnya tentang menginstal kerangka kerja pengujian unit pihak ketiga, lihat Menginstal kerangka kerja pengujian unit pihak ketiga

Menjalankan pengujian di Test Explorer

Saat Anda membangun proyek pengujian, pengujian akan muncul di Test Explorer. Jika Test Explorer tidak terlihat, pilih Uji pada menu Visual Studio, lalu pilih Test Explorer (atau tekan Ctrl + E, T).

Test Explorer

Test Explorer

Saat Anda menjalankan, menulis, dan menjalankan kembali pengujian, Test Explorer menampilkan hasil dalam pengelompokan default Proyek, Namespace, dan Kelas. Anda dapat mengubah cara Test Explorer mengelompokkan pengujian Anda.

Anda dapat melakukan banyak pekerjaan untuk menemukan, mengatur, dan menjalankan pengujian dari toolbar Test Explorer.

Run tests from the Test Explorer toolbar

Run tests from the Test Explorer toolbar

Jalankan pengujian

Anda dapat menjalankan semua pengujian dalam solusi, semua pengujian dalam grup, atau serangkaian pengujian yang Anda pilih. Lakukan salah satu langkah berikut:

  • Untuk menjalankan semua pengujian dalam sebuah solusi, pilih ikon Jalankan Semua (atau tekan Ctrl + R, V).

  • Untuk menjalankan semua pengujian dalam grup default, pilih ikon Jalankan lalu pilih grup pada menu.

  • Pilih pengujian individual yang ingin Anda jalankan, buka menu klik kanan untuk pengujian yang dipilih, lalu pilih Jalankan Pengujian yang Dipilih (atau tekan Ctrl + R, T).

  • Jika pengujian individual tidak memiliki dependensi yang mencegahnya dijalankan dalam urutan apa pun, aktifkan eksekusi pengujian paralel di menu pengaturan toolbar. Ini secara nyata dapat mengurangi waktu yang dibutuhkan untuk menjalankan semua pengujian.

Menjalankan pengujian setelah setiap build

Untuk menjalankan pengujian unit Anda setelah setiap build lokal, buka ikon pengaturan di toolbar Test Explorer dan pilih Jalankan Pengujian Setelah Build.

Lihat hasil pengujian

Saat Anda menjalankan, menulis, dan menjalankan ulang pengujian, Test Explorer menampilkan hasil dalam grup Pengujian yang Gagal, Pengujian yang Lulus, Pengujian yang Dilewati dan Tidak Menjalankan Pengujian. Panel detail di bagian bawah atau samping Test Explorer menampilkan ringkasan uji coba.

Melihat detail pengujian

Untuk melihat detail pengujian individual, pilih pengujian.

Test execution details

Test execution details

Panel detail pengujian menampilkan informasi berikut:

  • Nama file sumber dan nomor baris metode pengujian.

  • Status pengujian.

  • Waktu yang diperlukan untuk menjalankan metode pengujian.

Jika pengujian gagal, panel detail juga menampilkan:

  • Pesan yang dikembalikan oleh kerangka pengujian unit untuk pengujian.

  • Jejak tumpukan pada saat pengujian gagal.

Melihat kode sumber metode pengujian

Untuk menampilkan kode sumber metode pengujian di editor Visual Studio, pilih pengujian lalu pilih Buka Pengujian pada menu klik kanan (atau tekan F12).

Mengelompokkan dan memfilter daftar pengujian

Test Explorer memungkinkan Anda mengelompokkan pengujian ke dalam kategori yang telah ditentukan sebelumnya. Sebagian besar kerangka kerja pengujian unit yang berjalan di Test Explorer memungkinkan Anda menentukan kategori dan pasangan kategori/nilai Anda sendiri untuk mengelompokkan pengujian Anda. Anda juga dapat memfilter daftar pengujian dengan mencocokkan string dengan properti pengujian.

Pengujian grup dalam daftar pengujian

Test Explorer memungkinkan Anda mengelompokkan pengujian ke dalam hierarki. Pengelompokan hierarki default adalah Proyek, Namespace, lalu Kelas. Untuk mengubah cara pengujian diatur, pilih tombol Test Explorer group button Kelompokkan Menurut dan pilih kriteria pengelompokan baru.

Group tests by category in Test Explorer

Anda dapat menentukan tingkat hierarki dan grup Anda sendiri menurut Negara Bagian lalu Kelas misalnya dengan memilih opsi Kelompokkan Menurut dalam urutan pilihan Anda.

Screenshot of the Visual Studio Test Explorer showing a test hierarchy in one pane and the Group By menu in the other with the Class and State options checked.

Test Explorer memungkinkan Anda mengelompokkan pengujian ke dalam hierarki. Pengelompokan hierarki default adalah Proyek, Namespace, lalu Kelas. Untuk mengubah cara pengujian diatur, pilih tombol Test Explorer group button Kelompokkan Menurut dan pilih kriteria pengelompokan baru.

Group tests by category in Test Explorer

Anda dapat menentukan tingkat hierarki dan grup Anda sendiri menurut Negara Bagian lalu Kelas misalnya dengan memilih opsi Kelompokkan Menurut dalam urutan pilihan Anda.

Screenshot of the Visual Studio Test Explorer showing a test hierarchy in one pane and the Group By menu in the other with the Class and State options checked.

Grup Test Explorer

Grupkan Deskripsi
Durasi Mengelompokkan pengujian menurut waktu eksekusi: Cepat, Sedang, dan Lambat.
Solid Mengelompokkan pengujian berdasarkan hasil eksekusi: Tes yang Gagal, Tes yang Dilewati, Tes yang Lulus, Tidak Dijalankan
Kerangka Target Mengelompokkan pengujian berdasarkan kerangka kerja target proyek mereka
Namespace Layanan Mengelompokkan pengujian berdasarkan namespace yang memuatnya.
Proyek Mengelompokkan pengujian berdasarkan proyek yang memuatnya.
Kelas Mengelompokkan pengujian berdasarkan kelas yang memuatnya.

Sifat

Sifat biasanya merupakan pasangan nama/nilai kategori, tetapi bisa juga satu kategori. Sifat dapat diberikan ke metode yang diidentifikasi sebagai metode pengujian oleh kerangka pengujian unit. Kerangka pengujian unit dapat menentukan kategori sifat. Anda dapat menambahkan nilai ke kategori sifat untuk menentukan pasangan nama/nilai kategori Anda sendiri. Sintaks untuk menentukan kategori dan nilai sifat ditentukan oleh kerangka pengujian unit.

Sifat dalam Kerangka Pengujian Unit Microsoft untuk Kode Terkelola

Dalam kerangka kerja pengujian unit Microsoft untuk aplikasi terkelola, Anda menentukan pasangan nama sifat/nilai dalam atribut TestPropertyAttribute. Kerangka pengujian juga berisi sifat yang telah ditentukan ini:

Sifat Deskripsi
OwnerAttribute Kategori Pemilik ditentukan oleh kerangka pengujian unit dan mengharuskan Anda memberikan nilai string pemilik.
PriorityAttribute Kategori Prioritas ditentukan oleh kerangka pengujian unit dan mengharuskan Anda memberikan nilai bilangan bulat dari prioritas.
TestCategoryAttribute Atribut TestCategory memungkinkan Anda menentukan kategori pengujian unit.
TestPropertyAttribute Atribut TestProperty memungkinkan Anda untuk menentukan kategori sifat/pasangan nilai.

Sifat dalam Kerangka Pengujian Unit Microsoft untuk C++

Lihat Cara menggunakan Kerangka Kerja Pengujian Unit Microsoft untuk C++.

Membuat daftar putar kustom

Anda dapat membuat dan menyimpan daftar pengujian yang ingin dijalankan atau dilihat sebagai grup. Saat Anda memilih daftar putar, pengujian dalam daftar ditampilkan di tab Test Explorer baru. Anda dapat menambahkan pengujian ke lebih dari satu daftar putar.

Untuk membuat daftar putar, pilih satu atau beberapa pengujian di Test Explorer. Pada menu klik kanan, pilih Tambahkan ke Daftar Putar>Daftar Putar Baru.

Create a playlist

Daftar putar terbuka di tab Test Explorer baru. Anda dapat menggunakan daftar putar ini sekali lalu membuangnya, atau Anda dapat mengeklik tombol Simpan di toolbar jendela daftar putar, lalu pilih nama dan lokasi untuk menyimpan daftar putar.

Playlist opens in separate test explorer tab

Untuk membuat daftar putar, pilih satu atau beberapa pengujian di Test Explorer. Klik kanan dan pilih Tambahkan ke Daftar Putar>Daftar putar baru.

Untuk membuka daftar putar, pilih ikon daftar putar di toolbar Visual Studio dan pilih file daftar putar yang disimpan sebelumnya dari menu.

Untuk mengedit daftar putar, Anda dapat mengeklik kanan pengujian apa pun dan menggunakan opsi menu untuk menambah atau menghapusnya dari daftar putar.

Mulai di Visual Studio 2019 versi 16.7, Anda dapat memilih tombol Edit di toolbar. Kotak centang akan muncul di sebelah pengujian Anda yang menunjukkan pengujian apa yang disertakan dan dikecualikan dalam daftar putar. Edit grup sesuai keinginan.

Edit Playlist button

Anda juga dapat mencentang atau menghapus centang pada kotak grup induk dalam hierarki. Tindakan ini membuat daftar putar dinamis yang selalu memperbarui daftar putar berdasarkan pengujian yang ada di grup tersebut. Misalnya, jika Anda memberi tanda centang di sebelah kelas, pengujian apa pun yang ditambahkan dari kelas tersebut menjadi bagian dari daftar putar ini. Jika Anda menghapus pengujian dari kelas itu, pengujian tersebut akan dihapus dari daftar putar. Anda dapat mempelajari lebih lanjut tentang aturan dengan menyimpan daftar putar dengan tombol Simpan di toolbar dan membuka file .playlist yang dibuat di disk Anda. File ini mencantumkan semua aturan dan pengujian individual yang membentuk daftar putar.

Playlist xml file

Jika Anda ingin membuat daftar putar untuk sifat, gunakan format berikut untuk MSTest.

<Playlist Version="2.0">
	<Rule Name="Includes" Match="Any">
		<Property Name="Trait" Value="SchemaUpdateBasic" />
	</Rule>
</Playlist>

Gunakan format berikut untuk xUnit. Pastikan terdapat spasi antara nama TestCategory dan [Value] Anda.

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Rule Match="All">
      <Property Name="Solution" />
        <Rule Match="Any">
            <Property Name="Trait" Value="TestCategory [Value]" />
	    </Rule>
	</Rule>
  </Rule>
</Playlist>

Anda dapat membuat dan menyimpan daftar pengujian yang ingin dijalankan atau dilihat sebagai grup. Saat Anda memilih daftar putar, pengujian dalam daftar ditampilkan di tab Test Explorer baru. Anda dapat menambahkan pengujian ke lebih dari satu daftar putar.

Untuk membuat daftar putar, pilih satu atau beberapa pengujian di Test Explorer. Pada menu klik kanan, pilih Tambahkan ke Daftar Putar>Daftar Putar Baru.

Create a playlist

Daftar putar terbuka di tab Test Explorer baru. Anda dapat menggunakan daftar putar ini sekali lalu membuangnya, atau Anda dapat mengeklik tombol Simpan di toolbar jendela daftar putar, lalu pilih nama dan lokasi untuk menyimpan daftar putar.

Playlist opens in separate test explorer tab

Untuk membuat daftar putar, pilih satu atau beberapa pengujian di Test Explorer. Klik kanan dan pilih Tambahkan ke Daftar Putar>Daftar putar baru.

Untuk membuka daftar putar, pilih ikon daftar putar di toolbar Visual Studio dan pilih file daftar putar yang disimpan sebelumnya dari menu.

Untuk mengedit daftar putar, Anda dapat mengeklik kanan pengujian apa pun dan menggunakan opsi menu untuk menambah atau menghapusnya dari daftar putar.

Mulai di Visual Studio 2019 versi 16.7, Anda dapat memilih tombol Edit di toolbar. Kotak centang akan muncul di sebelah pengujian Anda yang menunjukkan pengujian apa yang disertakan dan dikecualikan dalam daftar putar. Edit grup sesuai keinginan.

Edit Playlist button

Anda juga dapat mencentang atau menghapus centang pada kotak grup induk dalam hierarki. Tindakan ini membuat daftar putar dinamis yang selalu memperbarui daftar putar berdasarkan pengujian yang ada di grup tersebut. Misalnya, jika Anda memberi tanda centang di sebelah kelas, pengujian apa pun yang ditambahkan dari kelas tersebut menjadi bagian dari daftar putar ini. Jika Anda menghapus pengujian dari kelas itu, pengujian tersebut akan dihapus dari daftar putar. Anda dapat mempelajari lebih lanjut tentang aturan dengan menyimpan daftar putar dengan tombol Simpan di toolbar dan membuka file .playlist yang dibuat di disk Anda. File ini mencantumkan semua aturan dan pengujian individual yang membentuk daftar putar.

Playlist xml file

Jika Anda ingin membuat daftar putar untuk sifat, gunakan format berikut untuk MSTest.

<Playlist Version="2.0">
	<Rule Name="Includes" Match="Any">
		<Property Name="Trait" Value="SchemaUpdateBasic" />
	</Rule>
</Playlist>

Gunakan format berikut untuk xUnit. Pastikan terdapat spasi antara nama TestCategory dan [Value] Anda.

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Rule Match="All">
      <Property Name="Solution" />
        <Rule Match="Any">
            <Property Name="Trait" Value="TestCategory [Value]" />
	    </Rule>
	</Rule>
  </Rule>
</Playlist>

Kolom Test Explorer

Grup juga tersedia sebagai kolom di Test Explorer, bersama dengan Sifat, Jejak Tumpukan, Pesan Kesalahan, dan Nama yang Sepenuhnya Memenuhi Syarat. Sebagian besar kolom tidak terlihat secara default, dan Anda dapat menyesuaikan kolom mana yang Anda lihat dan urutan kemunculannya.

Screenshot of the Visual Studio Test Explorer showing a menu with Columns selected and a sub-menu with Duration, Traits, and Error Message selected.

Memfilter, mengurutkan, dan menyusun ulang kolom pengujian

Kolom dapat disaring, diurutkan, dan disusun ulang.

  • Untuk memfilter ke sifat tertentu, klik ikon filter di bagian atas kolom Sifat.

    Column filter

  • Untuk mengubah urutan kolom, klik header kolom dan seret ke kiri atau kanan.

  • Untuk mengurutkan kolom, klik pada header kolom. Tidak semua kolom dapat diurutkan. Anda juga dapat mengurutkan menurut kolom sekunder dengan menahan tombol Shift dan mengeklik header kolom tambahan.

    Column sort

Kolom Test Explorer

Grup juga tersedia sebagai kolom di Test Explorer, bersama dengan Sifat, Jejak Tumpukan, Pesan Kesalahan, dan Nama yang Sepenuhnya Memenuhi Syarat. Sebagian besar kolom tidak terlihat secara default, dan Anda dapat menyesuaikan kolom mana yang Anda lihat dan urutan kemunculannya.

Screenshot of the Visual Studio Test Explorer showing a menu with Columns selected and a sub-menu with Duration, Traits, and Error Message selected.

Memfilter, mengurutkan, dan menyusun ulang kolom pengujian

Kolom dapat disaring, diurutkan, dan disusun ulang.

  • Untuk memfilter ke sifat tertentu, klik ikon filter di bagian atas kolom Sifat.

    Column filter

  • Untuk mengubah urutan kolom, klik header kolom dan seret ke kiri atau kanan.

  • Untuk mengurutkan kolom, klik pada header kolom. Tidak semua kolom dapat diurutkan. Anda juga dapat mengurutkan menurut kolom sekunder dengan menahan tombol Shift dan mengeklik header kolom tambahan.

    Column sort

Mencari dan memfilter daftar pengujian

Anda juga dapat menggunakan filter pencarian Test Explorer untuk membatasi metode pengujian dalam proyek yang Anda lihat dan jalankan.

Saat Anda mengetikkan string di kotak pencarian Test Explorer dan memilih Enter, daftar pengujian difilter untuk menampilkan hanya pengujian yang namanya sepenuhnya memenuhi syarat berisi string.

Untuk memfilter menurut kriteria yang berbeda:

  1. Buka daftar drop-down di sebelah kanan kotak pencarian.

  2. Pilih kriteria baru.

  3. Masukkan nilai filter di antara tanda kutip. Jika Anda ingin mencari kecocokan persis pada string alih-alih kecocokan yang berisi, gunakan tanda sama dengan (=) alih-alih titik dua (:).

Filter tests in Test Explorer

Filter tests in Test Explorer

Catatan

Penelusuran tidak peka huruf besar/kecil dan mencocokkan string yang ditentukan dengan bagian mana pun dari nilai kriteria.

Pengualifikasi Deskripsi
Solid Menelusuri nama kategori Test Explorer untuk kecocokan: Pengujian yang Gagal, Pengujian yang Dilewati, Pengujian yang Lulus.
Sifat Mencari kategori sifat dan nilai untuk kecocokan. Sintaks untuk menentukan kategori dan nilai sifat ditentukan oleh kerangka pengujian unit.
Nama yang Sepenuhnya Memenuhi Syarat Mencari nama yang sepenuhnya memenuhi syarat dari namespace pengujian, kelas, dan metode untuk kecocokan.
Proyek Mencari nama proyek pengujian untuk kecocokan.
Kerangka Target Mencari kerangka kerja pengujian untuk kecocokan.
Namespace Layanan Menelusuri namespace pengujian untuk menemukan kecocokan.
Kelas Mencari nama kelas pengujian untuk kecocokan.

Untuk mengecualikan subset hasil filter, gunakan sintaks berikut:

FilterName:"Criteria" -FilterName:"SubsetCriteria"

Misalnya, FullName:"MyClass" - FullName:"PerfTest" mengembalikan semua pengujian yang menyertakan "MyClass" dalam namanya, kecuali pengujian yang juga menyertakan "PerfTest" dalam namanya.

Menganalisis cakupan kode pengujian unit

Anda dapat menentukan jumlah kode produk yang sebenarnya sedang diuji oleh pengujian unit Anda dengan menggunakan alat cakupan kode Visual Studio yang tersedia dalam edisi Visual Studio Enterprise. Anda dapat menjalankan cakupan kode pada pengujian terpilih atau pada semua pengujian dalam solusi.

Untuk menjalankan cakupan kode untuk metode pengujian dalam solusi:

  • Klik kanan di Test Explorer dan pilih Analisis Cakupan Kode untuk Pengujian yang Dipilih

Jendela Hasil Cakupan Kode menampilkan persentase blok kode produk yang dijalankan oleh baris, fungsi, kelas, namespace layanan, dan modul.

Untuk informasi selengkapnya, lihat Menggunakan cakupan kode untuk menentukan berapa banyak kode yang sedang diuji.

Pintasan pengujian

Pengujian dapat dijalankan dari Test Explorer dengan mengeklik kanan di editor kode pada pengujian dan memilih Jalankan pengujian atau dengan menggunakan Pintasan Test Explorer default di Visual Studio. Beberapa pintasan berbasis konteks. Ini berarti bahwa mereka menjalankan, men-debug, atau menguji profil berdasarkan di mana kursor Anda berada di editor kode. Jika kursor Anda berada di dalam metode pengujian, metode pengujian tersebut akan berjalan. Jika kursor Anda berada di tingkat kelas, semua pengujian di kelas itu akan berjalan. Proses ini juga sama untuk level namespace.

Perintah yang Sering Pintasan Papan Ketik
TestExplorer.DebugAllTestsInContext Ctrl+R, Ctrl+T
TestExplorer.RunAllTestsInContext Ctrl+R, T
TestExplorer.RunAllTests Ctrl+R, A
TestExplorer.RepeatLastRun Ctrl+R, L

Catatan

Anda tidak dapat menjalankan pengujian di kelas abstrak, karena pengujian hanya ditentukan di kelas abstrak dan tidak dipakai. Untuk menjalankan pengujian di kelas abstrak, buat kelas yang diturunkan dari kelas abstrak.

Menguji isyarat audio

Test Explorer dapat memutar suara saat uji coba selesai. Terdapat dua suara: satu suara untuk menunjukkan uji coba berhasil dengan semua pengujian yang lulus, dan suara kedua untuk menunjukkan uji coba selesai dengan setidaknya satu pengujian gagal. Anda dapat mengatur suara ini di dialog suara Windows 11 default. Fitur ini tersedia mulai dari Visual Studio 2019 Update 16.9 Pratinjau 3.

  1. Buka dialog suara Windows 11 default.
  2. Arahkan ke tab Suara.
  3. Temukan kategori Microsoft Visual Studio. Pilih suara Uji Coba Berhasil atau Uji Coba Gagal untuk memilih suara yang telah ditetapkan atau telusuri file audio Anda sendiri.
    Windows 11 sound dialog