Bagikan melalui


Mengonfigurasi dan menggunakan Pengujian Unit Langsung

Saat Anda mengembangkan aplikasi, Pengujian Unit Langsung secara otomatis menjalankan pengujian unit yang terpengaruh di latar belakang dan menyajikan hasil dan cakupan kode secara real time. Saat Anda mengubah kode, Pengujian Unit Langsung memberikan umpan balik tentang bagaimana perubahan Anda memengaruhi pengujian yang ada dan apakah kode baru yang Anda tambahkan dicakup oleh satu atau beberapa pengujian yang ada. Umpan balik ini mengingatkan Anda untuk menulis pengujian unit saat Anda membuat perbaikan bug atau menambahkan fitur baru.

Saat Anda menggunakan Pengujian Unit Langsung untuk pengujian Anda, pengujian tersebut mempertahankan data tentang status pengujian Anda. Menggunakan data yang bertahan memungkinkan Pengujian Unit Langsung untuk menawarkan performa yang unggul saat menjalankan pengujian Anda secara dinamis sebagai respons terhadap perubahan kode.

Pengujian Unit Langsung hanya tersedia di Visual Studio edisi Enterprise untuk proyek yang menargetkan .NET Core atau .NET Framework.

Kerangka kerja pengujian yang didukung

Pengujian Unit Langsung berfungsi dengan tiga kerangka kerja pengujian unit populer yang tercantum dalam tabel berikut. Versi minimum adaptor dan kerangka kerja yang didukung juga ditampilkan. Kerangka kerja pengujian unit semuanya tersedia dari NuGet.org.

Kerangka kerja pengujian Versi minimum adaptor Visual Studio Versi minimum kerangka kerja
xUnit.net xunit.runner.visualstudio versi 2.2.0-beta3-build1187 xunit 1.9.2
NUnit NUnit3TestAdapter versi 3.5.1 NUnit versi 3.5.0
MSTest MSTest.TestAdapter 1.1.4-preview MSTest.TestFramework 1.0.5-preview

Jika Anda memiliki proyek pengujian berbasis MSTest yang lebih lama yang mereferensikan Microsoft.VisualStudio.QualityTools.UnitTestFramework, dan Anda tidak ingin pindah ke paket MSTest NuGet yang lebih baru, tingkatkan ke Visual Studio 2019 atau Visual Studio 2017.

Dalam beberapa kasus, Anda mungkin perlu secara eksplisit memulihkan paket NuGet yang dirujuk oleh proyek agar Pengujian Unit Langsung berfungsi. Anda memiliki dua pilihan:

  • Pulihkan dengan melakukan build solusi eksplisit. Pilih Bangun>Solusi Pembangunan Ulang pada menu Visual Studio tingkat atas.
  • Pulihkan paket dalam solusi. Klik kanan solusi dan pilih Pulihkan Paket NuGet.

Konfigurasikan

Pertama kali Anda memulai Pengujian Unit Langsung untuk solusi, wizard penyiapan memungkinkan Anda mengonfigurasi cara Pengujian Unit Langsung harus membangun dan menjalankan pengujian.

Saat Pengujian Unit Langsung dihentikan, Anda juga dapat membuka wizard penyiapan dengan membuka Pengujian>>Unit Langsung Mengonfigurasi Pengujian Unit Langsung untuk solusi.

Saat Pengujian Unit Langsung berjalan, pengujian akan membuat ruang kerja, yang merupakan salinan repositori asli. Pengujian Unit Langsung kemudian menerapkan perubahan yang belum disimpan yang Anda buat di Visual Studio ke ruang kerja, melakukan build, melakukan uji coba, dan melaporkan cakupan kode terbaru.

Hal pertama yang harus Anda konfigurasi dengan menggunakan wizard adalah tempat file harus disalin dan dari mana file harus disalin.

Cuplikan layar yang memperlihatkan halaman wizard konfigurasi Pengujian Unit Langsung 1.

Akar repositori

Akar repositori menentukan folder yang akan disalin untuk membuat ruang kerja Pengujian Unit Langsung. Ini harus menjadi folder akar repositori, yaitu, harus berisi semua sumber, biner, dan alat. Dalam kasus di mana file solusi tidak ada di bawah akar repositori, akar repositori mungkin perlu diubah.

Akar ruang kerja

Akar ruang kerja menentukan folder tempat Pengujian Unit Langsung menyimpan klon repositori. Perhatikan pengecualian yang menunjukkan bahwa jalur terlalu panjang. Secara default, akar dibuat di bawah folder beranda Anda. Namun, sebagai contoh, jika Anda biasanya perlu membuat repositori Anda di bawah drive C, akar ruang kerja dapat disesuaikan dengan sesuatu seperti C:\lut\Repo.

Tentukan file yang dikecualikan

Tidak semua file harus disalin ke ruang kerja Pengujian Unit Langsung. Artefak apa pun yang dihasilkan selama build harus dikecualikan dari penyalinan sehingga build reguler tidak mengganggu build Pengujian Unit Langsung. Selain itu, perintah reguler nuget restore tidak boleh mengganggu perintah Pengujian nuget restore Unit Langsung.

Secara default, Pengujian Unit Langsung mengecualikan salah satu dari dua pola file:

  • Untuk repositori Git, file yang ditentukan dalam file gitignore tidak disalin ke ruang kerja Pengujian Unit Langsung.
  • Untuk repositori non-Git, daftar dasar folder, seperti bin/ dan obj/, tidak disalin ke ruang kerja Pengujian Unit Langsung.

Untuk repositori yang lebih kompleks, Anda mungkin perlu menentukan file abaikan Anda sendiri. Pilih opsi "<Kustom>" dari wizard. Setelah Anda memilih Berikutnya, konten file abaikan kustom yang dibuat Pengujian Unit Langsung setelah Anda menyelesaikan wizard muncul. Ini adalah file lutignore .

Catatan

File lutignore kustom diperlukan untuk beberapa repositori Git karena dimungkinkan untuk memeriksa file ke repositori Git yang juga diabaikan oleh file gitignore. Tanpa file lutignore kustom, Pengujian Unit Langsung tidak akan menyalin file-file ini, yang mungkin menyebabkan kegagalan build.

Struktur file Lutignore

File lutignore menggunakan format yang sama dengan file gitignore . Ini harus berisi aturan yang cocok dengan folder atau file yang dihasilkan selama build sehingga tidak disalin ke ruang kerja. Untuk sebagian besar templat proyek default, file abaikan berikut ini sudah cukup:

[BB]IN
[OO]BJ
# WILL NOT COPY ANY BIN AND OBJ FOLDERS TO THE LIVE UNIT TESTING WORKSPACE

Jika repositori Anda memiliki satu folder build, file abaikan harus mencantumkan folder tersebut sebagai gantinya:

[AA]RTIFACTS/
# WILL NOT COPY THE ARTIFACTS FOLDER TO THE LIVE UNIT TESTING WORKSPACE

Jika repositori Anda menyertakan beberapa alat lain di folder build, alat-alat ini harus dikecualikan dalam kumpulan pola yang cocok:

[AA]RTIFACTS/
![AA]RTIFACTS/TOOLS/
# WILL NOT COPY THE ARTIFACTS FOLDER TO THE LIVE UNIT TESTING WORKSPACE
# HOWEVER IT WILL COPY THE TOOLS SUBFOLDER THAT MIGHT CONTAIN TOOLS AND UTILITIES

Opsi pembangunan

Bagian kedua dari halaman konfigurasi wizard adalah tempat Anda mengonfigurasi opsi build:

  • Hasilkan PDB: Untuk mempercepat build, Pengujian Unit Langsung tidak menghasilkan PDB selama build. File simbol ini memungkinkan Anda untuk pergi ke jejak tumpukan ketika kegagalan pengujian terjadi.
  • Membangun dengan menggunakan beberapa inti CPU: Secara default, Pengujian Unit Langsung melakukan build dengan menggunakan beberapa inti CPU, yang meningkatkan waktu build. Jika komputer Anda melambat atau jika solusi Anda gagal dibangun dengan menggunakan beberapa prosesor, jangan pilih opsi ini.

Opsi uji coba

Bagian terakhir dari halaman konfigurasi wizard adalah tempat Anda menyiapkan opsi uji coba:

  • Batas waktu kasus pengujian: Beberapa pengujian mungkin membutuhkan waktu lama untuk dijalankan. Mengatur bidang ini secara otomatis membatalkan eksekusi jika salah satu pengujian melebihi durasi waktu tertentu. Pengujian dapat dibatalkan secara otomatis.
  • Gunakan beberapa prosesor: Secara default, Pengujian Unit Langsung mencoba menggunakan beberapa prosesor untuk mempercepat performa eksekusi. Jika komputer Anda melambat atau jika solusi Anda tidak dapat menjalankan pengujian secara paralel, jangan pilih opsi ini. Misalnya, skenario ini dapat terjadi jika beberapa pengujian mencoba menulis/membaca dari jalur file yang sama.

Konfigurasi lainnya

Konfigurasikan Pengujian Unit Langsung dengan memilih Opsi Alat>di bilah menu Visual Studio tingkat atas. Di panel kiri dialog Opsi , pilih Pengujian Unit Langsung.

Setelah Pengujian Unit Langsung diaktifkan (lihat Memulai, menjeda, dan menghentikan Pengujian Unit Langsung), Anda juga dapat membuka dialog Opsi dengan memilih Uji>Opsi Pengujian>Unit Langsung.

Gambar berikut menunjukkan opsi konfigurasi Pengujian Unit Langsung yang tersedia dalam dialog.

Cuplikan layar yang memperlihatkan opsi konfigurasi Pengujian Unit Langsung.

Opsi yang dapat dikonfigurasi meliputi:

  • Apakah Pengujian Unit Langsung dijeda saat solusi dibuat dan di-debug.

  • Apakah Pengujian Unit Langsung dijeda saat daya baterai sistem berada di bawah ambang yang ditentukan.

  • Kemampuan untuk menghapus semua data yang bertahan. Kemampuan ini berguna ketika Pengujian Unit Langsung berperilaku dengan cara yang tidak dapat diprediksi atau tidak terduga, yang menunjukkan bahwa data yang bertahan rusak.

  • Jumlah maksimum memori yang dapat dikonsumsi oleh proses Pengujian Unit Langsung.

  • Tingkat informasi yang ditulis ke jendela Output Pengujian Unit Langsung.

    Opsi termasuk tidak ada pengelogan (Tidak Ada), pesan kesalahan saja (Kesalahan), pesan kesalahan dan informasi (Info, default), atau semua detail (Verbose).

    Anda juga dapat menampilkan output verbose di jendela Output Pengujian Unit Langsung dengan menetapkan nilai 1 ke variabel lingkungan tingkat pengguna bernama VS_UTE_DIAGNOSTICS. Kemudian mulai ulang Visual Studio.

    Untuk mengambil pesan log MSBuild terperinci dari Pengujian Unit Langsung dalam file, atur variabel lingkungan tingkat pengguna LiveUnitTesting_BuildLog ke nama file agar berisi log.

Menyesuaikan build Anda untuk Pengujian Unit Langsung

Untuk solusi yang lebih kompleks, mungkin perlu untuk menyesuaikan build lebih lanjut. Misalnya, mungkin tidak perlu membuat file terjemahan selama eksekusi pengujian. Untuk mempercepat build, Anda dapat menonaktifkan build file terjemahan dengan Pengujian Unit Langsung. Anda dapat melakukannya dengan memanipulasi file proyek.

Menambahkan penimpaan Pengujian Unit Langsung

Jika solusi Anda memerlukan langkah-langkah kustom untuk membangun instrumentasi (Pengujian Unit Langsung) yang tidak diperlukan untuk build yang tidak terinstrumentasi "reguler", Anda dapat menambahkan kode ke file proyek atau .targets yang memeriksa BuildingForLiveUnitTesting properti dan melakukan langkah-langkah build pra/pasca kustom.

Misalnya, Anda dapat menulis sampel berikut untuk menambahkan target lain yang hanya dijalankan untuk Pengujian Unit Langsung:

<Target Name="GenerateNuGetPackages" BeforeTargets="AfterBuild" Condition="'$(BuildingForLiveUnitTesting)' == 'true'">
    <Exec Command='"$(MSBuildThisFileDirectory)..\tools\GenPac" '/>
</Target>

Anda dapat menggunakan BuildingForLiveUnitTesting properti untuk menonaktifkan beberapa tugas yang seharusnya tidak dijalankan untuk build pengujian. Misalnya, set Pengujian Unit Langsung untuk menonaktifkan penganalisis <RunAnalyzers>false</RunAnalyzers> untuk pengujian.

Dependensi pengujian Pengujian Unit Langsung

Ada kemungkinan bahwa tidak semua file disalin yang diperlukan agar pengujian berjalan. Pengujian Unit Langsung membuat folder terpisah tempat menjalankan pengujian. Pengaturan tersebut memungkinkan build terjadi saat pengujian berjalan, tetapi tidak semua file dari folder build disalin ke folder pengujian.

Biasanya, Anda menambahkan dependensi pengujian karena salah satu dari dua alasan:

  • Pengujian Anda bergantung pada file di bawah pohon sumber. Misalnya, pengujian memeriksa konten file resx atau mungkin membaca beberapa file konfigurasi.
  • Pengujian Anda bergantung pada beberapa pustaka yang mereka referensikan. Misalnya, pengujian menjalankan executable yang dibangun sebagai dependensi.

Catatan

Dependensi pengujian harus ada dalam direktori yang ditentukan sebagai Akar Repositori dalam wizard penyiapan.

Dalam kedua kasus, Pengujian Unit Langsung secara default tidak akan menyalin file-file ini untuk tujuan meminimalkan jumlah file yang harus disalin untuk menjalankan pengujian. Anda perlu secara eksplisit menentukan file-file ini dengan menggunakan LiveUnitTestingTestDependency properti jika diperlukan untuk uji coba. Misalnya, kita memiliki tata letak berikut:

SRC/
  CONSOLE_UTILITY/
  TEST_PROJECT/
ARTIFACTS/
  CONSOLE_UTILITY/NET472/DEBUG/
  TEST_PROJECT/NET472/DEBUG/

Secara default, saat Anda membangun proyek-proyek ini dengan Pengujian Unit Langsung, proyek hanya akan disalin Artifacts/Test_Project ke folder pengujian. Untuk menambahkan sumber atau console_utility ke folder pengujian, tambahkan sampel berikut ke test_project.csproj:

<LiveUnitTestingTestDependency Include=”$(RepoRoot)/Src/ConsoleUtility” />
<LiveUnitTestingTestDependency Include=”$(RepoRoot)/Artifacts/ConsoleUtility/net472/$(Configuration)/</LiveUnitTestingTestDependency” />

Mulai, jeda, dan hentikan

Untuk mengaktifkan Pengujian Unit Langsung, pilih Uji>Pengujian>Unit Langsung Mulai pada menu Visual Studio tingkat atas. Saat Pengujian Unit Langsung diaktifkan, opsi yang tersedia pada menu Pengujian Unit Langsung berubah dari satu item, Mulai, menjadi Jeda dan Berhenti:

  • Jeda untuk sementara menangguhkan Pengujian Unit Langsung.

    Saat Pengujian Unit Langsung dijeda, visualisasi cakupan tidak muncul di editor, tetapi semua data yang dikumpulkan dipertahankan. Untuk melanjutkan Pengujian Unit Langsung, pilih Lanjutkan pada menu Pengujian Unit Langsung. Pengujian Unit Langsung melakukan pekerjaan yang diperlukan untuk mengejar semua pengeditan yang dilakukan saat dijeda dan memperbarui glyph dengan tepat.

  • Berhenti sepenuhnya menghentikan Pengujian Unit Langsung. Pengujian Unit Langsung membuang semua data yang dikumpulkannya.

Jika Anda memulai Pengujian Unit Langsung dalam solusi yang tidak menyertakan proyek pengujian unit, opsi Jeda dan Hentikan muncul di menu Pengujian Unit Langsung, tetapi Pengujian Unit Langsung tidak dimulai. Jendela Output menampilkan pesan yang dimulai, "Tidak ada adaptor pengujian yang didukung yang dirujuk oleh solusi ini...".

Kapan saja, Anda dapat menjeda sementara atau sepenuhnya menghentikan Pengujian Unit Langsung. Anda mungkin ingin mengambil tindakan ini, misalnya, jika Anda berada di tengah-tengah pemfaktoran ulang dan tahu bahwa pengujian Anda akan rusak untuk sementara waktu.

Sertakan dan kecualikan proyek pengujian dan metode pengujian

Saat Anda memulai Pengujian Unit Langsung, jendela alat Pengujian Unit Langsung muncul dan meminta Anda untuk memilih serangkaian pengujian yang ingin Anda uji oleh Pengujian Unit Langsung.

Cuplikan layar yang memperlihatkan jendela alat yang ditampilkan saat Pengujian Unit Langsung dimulai untuk pertama kalinya.

Untuk solusi yang lebih kecil di mana pengujian unit membutuhkan waktu yang sangat sedikit untuk dijalankan, pilih Sertakan semua pengujian, yang membuat Pengujian Unit Langsung menjalankan semua pengujian.

Untuk solusi yang lebih besar dengan banyak proyek pengujian, Anda dapat mengontrol proyek dan metode individual mana dalam proyek yang berpartisipasi dalam Pengujian Unit Langsung dengan mengedit daftar putar. Misalnya, jika Anda memiliki solusi dengan ratusan proyek pengujian, Anda dapat memilih serangkaian proyek pengujian yang ditargetkan untuk berpartisipasi dalam Pengujian Unit Langsung.

Anda memilih apa yang harus dijalankan Pengujian Unit Langsung dengan mengedit daftar putar Pengujian Unit Langsung, fitur yang berfungsi seperti daftar putar di Test Explorer.

Ada beberapa cara untuk mengedit daftar putar Pengujian Unit Langsung:

  • Jendela alat Pengujian Unit Langsung
  • Jendela editor kode
  • Penjelajah Solusi
  • Secara terprogram dalam kode pengujian

Pengujian Unit Langsung menyimpan status sertakan/kecualikan sebagai pengaturan pengguna dan mengingatnya saat solusi ditutup dan dibuka kembali.

Jendela alat Pengujian Unit Langsung

Anda dapat menggunakan editor daftar putar untuk tab Pengujian Unit Langsung untuk menyertakan atau mengecualikan proyek, namespace, atau kelas dari eksekusi. Pilih Edit daftar putar di jendela alat.

Anda dapat memilih atau menghapus elemen tampilan pohon untuk menyertakan atau mengecualikan pengujian. Misalnya, jika Anda memeriksa satu pengujian, Pengujian Unit Langsung menjalankannya pada perubahan. Jika Anda memilih kelas, semua pengujian di kelas tersebut berjalan dan pengujian baru apa pun yang ditambahkan ke kelas tersebut juga berjalan.

Cuplikan layar yang memperlihatkan editor daftar putar Pengujian Unit Langsung.

Jendela editor kode

Anda dapat menggunakan jendela editor kode untuk menyertakan atau mengecualikan metode pengujian individual. Klik kanan tanda tangan atau isi metode pengujian di jendela editor kode dan pilih salah satu opsi berikut:

  • Pengujian> Unit Langsung Sertakan <metode> yang dipilih
  • Pengujian> Unit Langsung Mengecualikan <metode> yang dipilih
  • Pengujian> Unit Langsung Kecualikan Semua Tapi <metode> yang dipilih

Penjelajah Solusi

Untuk memilih proyek individual dalam pengujian unit, ikuti langkah-langkah ini setelah Pengujian Unit Langsung dimulai:

  1. Klik kanan solusi di Penjelajah Solusi dan pilih Pengujian>Unit Langsung Kecualikan untuk mengecualikan seluruh solusi.
  2. Klik kanan setiap proyek pengujian yang ingin Anda sertakan dalam pengujian dan pilih Pengujian Unit>Langsung Sertakan.

Secara terprogram dalam kode pengujian

Anda dapat menerapkan atribut ExcludeFromCodeCoverageAttribute ke metode, kelas, atau struktur yang dikecualikan secara terprogram agar tidak melaporkan cakupannya dalam Pengujian Unit Langsung.

Gunakan atribut berikut untuk mengecualikan metode individual dari Pengujian Unit Langsung:

  • xUnit: [Trait("Category", "SkipWhenLiveUnitTesting")]
  • NUnit: [Category("SkipWhenLiveUnitTesting")]
  • MSTest: [TestCategory("SkipWhenLiveUnitTesting")]

Gunakan atribut berikut untuk mengecualikan seluruh rakitan pengujian dari Pengujian Unit Langsung:

  • xUnit: [assembly: AssemblyTrait("Category", "SkipWhenLiveUnitTesting")]
  • NUnit: [assembly: Category("SkipWhenLiveUnitTesting")]
  • MSTest: [assembly: TestCategory("SkipWhenLiveUnitTesting")]

Menampilkan visualisasi cakupan

Setelah Pengujian Unit Langsung diaktifkan, ia memperbarui setiap baris kode di editor Visual Studio untuk menunjukkan kepada Anda apakah kode yang Anda tulis dicakup oleh pengujian unit dan apakah pengujian yang mencakupnya lulus.

Gambar berikut menunjukkan baris kode dengan pengujian lulus dan gagal, dan baris kode yang tidak dicakup oleh pengujian. Garis dengan "✓" hijau hanya dicakup oleh lulus tes. Garis dengan "x" merah dicakup oleh satu atau beberapa pengujian yang gagal. Garis dengan "➖" biru tidak tercakup oleh pengujian apa pun.

Cuplikan layar yang memperlihatkan cakupan kode di Visual Studio.

Visualisasi cakupan Pengujian Unit Langsung segera diperbarui saat Anda memodifikasi kode di editor kode. Saat memproses pengeditan, visualisasi berubah untuk menunjukkan bahwa data tidak diperbarui dengan menambahkan gambar timer putaran di bawah simbol yang diteruskan, gagal, dan tidak tercakup, seperti yang ditunjukkan gambar berikut.

Cuplikan layar yang memperlihatkan cakupan kode di Visual Studio dengan ikon timer.

Mendapatkan informasi tentang status pengujian

Dengan mengarahkan mouse ke atas simbol yang diteruskan atau gagal di jendela kode, Anda dapat melihat berapa banyak pengujian yang mencapai baris tersebut. Untuk melihat status pengujian individual, pilih simbol .

Cuplikan layar yang memperlihatkan status pengujian untuk simbol di Visual Studio.

Selain memberikan nama dan hasil pengujian, tipsalat memungkinkan Anda menjalankan ulang atau men-debug serangkaian pengujian. Jika Anda memilih satu atau beberapa pengujian di tipsalat, Anda juga dapat menjalankan atau men-debug hanya pengujian tersebut. Tindakan ini memungkinkan Anda untuk men-debug pengujian Anda tanpa harus meninggalkan jendela kode.

Saat Anda men-debug, selain mengamati titik henti apa pun yang mungkin telah Anda tetapkan, eksekusi program berhenti sementara saat debugger menjalankan Assert metode yang mengembalikan hasil yang tidak terduga.

Saat Anda mengarahkan mouse ke atas pengujian yang gagal di tipsalat, alat akan diperluas untuk memberikan informasi selengkapnya tentang kegagalan, seperti yang ditunjukkan pada gambar berikut. Untuk langsung masuk ke pengujian yang gagal, klik dua kali di tipsalat.

Cuplikan layar yang memperlihatkan informasi tipsalat pengujian yang gagal di Visual Studio.

Ketika Anda pergi ke pengujian yang gagal, Pengujian Unit Langsung secara visual menunjukkan dalam tanda tangan metode pengujian yang memiliki:

  • Diteruskan (ditunjukkan oleh paruh setengah penuh bersama dengan hijau "✓").
  • Gagal (ditunjukkan oleh paruh setengah penuh bersama dengan "🞩").
  • Tidak terlibat dalam Pengujian Unit Langsung (ditunjukkan oleh paruh setengah penuh bersama dengan "")➖.

Metode nontest tidak diidentifikasi dengan simbol. Gambar berikut mengilustrasikan keempat jenis metode.

Cuplikan layar yang memperlihatkan metode pengujian di Visual Studio dengan simbol lulus atau gagal.

Mendiagnosis dan memperbaiki kegagalan pengujian

Dari pengujian yang gagal, Anda dapat dengan mudah men-debug kode produk, melakukan pengeditan, dan terus mengembangkan aplikasi Anda. Karena Pengujian Unit Langsung berjalan di latar belakang, Anda tidak perlu menghentikan dan memulai ulang Pengujian Unit Langsung selama debug, edit, dan lanjutkan siklus.

Misalnya, kegagalan pengujian yang ditunjukkan pada gambar sebelumnya disebabkan oleh asumsi yang salah dalam metode pengujian yang dikembalikan true karakter nonalphabetik ketika diteruskan ke System.Char.IsLower metode . Setelah Anda memperbaiki metode pengujian, semua pengujian harus lulus. Anda tidak perlu menjeda atau menghentikan Pengujian Unit Langsung.

Jendela Pengujian Unit Langsung

Pengujian Unit Langsung, mirip dengan Test Explorer, menyediakan antarmuka yang memungkinkan Anda menjalankan dan men-debug pengujian dan menganalisis hasil pengujian. Saat Pengujian Unit Langsung diaktifkan, status pengujian unit di Test Explorer segera diperbarui. Anda tidak perlu menjalankan pengujian unit secara eksplisit.

Saat Pengujian Unit Langsung tidak diaktifkan atau dihentikan, Pengujian Unit Langsung menampilkan status pengujian unit saat terakhir kali pengujian dijalankan. Setelah Anda memulai ulang Pengujian Unit Langsung, perubahan kode sumber diperlukan untuk menjalankan ulang pengujian.

Anda dapat memulai Pengujian Unit Langsung dengan memilih Uji>Pengujian>Unit Langsung Mulai pada menu Visual Studio tingkat atas. Anda juga dapat membuka jendela Pengujian Unit Langsung dengan menggunakan Jendela Pengujian Unit>Langsung Windows>Lainnya.

Anda mungkin melihat di jendela Pengujian Unit Langsung bahwa beberapa pengujian memudar. Misalnya, saat Anda menghentikan dan memulai ulang Pengujian Unit Langsung, jendela Pengujian Unit Langsung memudarkan semua pengujian, seperti yang ditunjukkan gambar berikut.

Hasil pengujian faded-out menunjukkan bahwa pengujian bukan bagian dari eksekusi Pengujian Unit Langsung terbaru. Pengujian hanya berjalan ketika perubahan pada pengujian atau dependensi pengujian terdeteksi. Jika tidak ada perubahan, itu menghindari menjalankan pengujian yang tidak perlu. Dalam hal ini, hasil pengujian abu-abu masih "terbaru," meskipun itu bukan bagian dari eksekusi terbaru.

Cuplikan layar yang memperlihatkan pengujian yang pudar di Test Explorer.

Anda dapat menjalankan ulang pengujian apa pun yang tampak pudar dengan membuat perubahan kode.

Ada beberapa perbedaan antara Pengujian Unit Langsung yang secara otomatis menjalankan dan memperbarui hasil pengujian dan menjalankan pengujian secara eksplisit dari Test Explorer. Perbedaan ini meliputi:

  • Menjalankan atau men-debug pengujian dari jendela Test Explorer menjalankan biner reguler. Pengujian Unit Langsung menjalankan biner berinstrumen.
  • Pengujian Unit Langsung tidak membuat domain aplikasi baru untuk menjalankan pengujian. Sebagai gantinya, ia menjalankan pengujian dari domain default. Pengujian yang dijalankan dari jendela Test Explorer membuat domain aplikasi baru.
  • Pengujian Unit Langsung menjalankan pengujian di setiap rakitan pengujian secara berurutan. Di jendela Test Explorer, Anda dapat memilih untuk menjalankan beberapa pengujian secara paralel.

Membatalkan eksekusi pengujian Pengujian Unit Langsung

Pengujian Unit Langsung terus menjalankan pengujian setiap kali Anda membuat perubahan kode. Jika eksekusi sedang berlangsung dan Anda membuat lebih banyak perubahan kode, Pengujian Unit Langsung mengantre eksekusi lain saat menunggu eksekusi pertama selesai.

Setiap kali Anda menyimpan file, Pengujian Unit Langsung membatalkan proses pertama dan segera menjadwalkan eksekusi yang diantrekan sebagai gantinya. Proses ini membantu skenario di mana eksekusi pertama akan memakan waktu lama untuk diselesaikan.

Lihat juga