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.
Petunjuk / Saran
Saat menggunakan Microsoft.Testing.Platform.MSBuild (secara transitif disertakan oleh pelaksana MSTest, NUnit, dan xUnit), ekstensi cakupan kode didaftarkan secara otomatis ketika Anda menginstal paket NuGet mereka — tanpa perlu perubahan kode.
Anda dapat menggunakan fitur cakupan kode untuk menentukan proporsi kode project Anda yang sedang diuji oleh pengujian berkode seperti pengujian unit. Untuk melindungi secara efektif dari bug, pengujian Anda harus menguji atau mencakup proporsi besar dari kode Anda.
Cakupan kode Microsoft
Analisis Cakupan Kode Microsoft dimungkinkan untuk kode terkelola (CLR) dan tidak dikelola (asli). Instrumentasi statis dan dinamis didukung. Ekstensi ini memerlukan paket NuGet Microsoft.Testing.Extensions.CodeCoverage .
Nota
Cakupan kode yang tidak dikelola (asli) dinonaktifkan dalam ekstensi secara default. Gunakan bendera EnableStaticNativeInstrumentation dan EnableDynamicNativeInstrumentation untuk mengaktifkannya jika diperlukan.
Untuk informasi selengkapnya tentang cakupan kode yang tidak dikelola, lihat Instrumentasi asli statis dan dinamis.
Penting
Paket dikirim dengan microsoft .NET pustaka sumber tertutup gratis untuk menggunakan model lisensi.
Untuk informasi selengkapnya tentang cakupan kode Microsoft, lihat halaman GitHub.
Opsi
| Option | Deskripsi |
|---|---|
--coverage |
Kumpulkan cakupan kode menggunakan alat dotnet-coverage. |
--coverage-output |
Nama atau jalur file cakupan yang dihasilkan. Secara bawaan, file ini adalah TestResults/<guid>.coverage. |
--coverage-output-format |
Format keluaran file. Nilai yang didukung adalah: coverage, xml, dan cobertura. Defaultnya adalah coverage. |
--coverage-settings |
pengaturan cakupan kode XML. |
Untuk informasi selengkapnya tentang opsi yang tersedia, lihat settings dan samples.
Nota
Nilai IncludeTestAssembly default di Microsoft.Testing.Extensions.CodeCoverage adalah false, sementara dulunya berada true di VSTest. Ini berarti bahwa proyek pengujian dikecualikan secara default. Untuk informasi selengkapnya, lihat konfigurasi Code Coverage.
Kompatibilitas versi
Tabel berikut menunjukkan kompatibilitas antara versi Microsoft.Testing.Extensions.CodeCoverage dan Microsoft.Testing.Platform yang berbeda:
| Microsoft.Testing.Extensions.CodeCoverage | Microsoft.Testing.Platform |
|---|---|
| 18.1.x | 2.0.x |
| 18.0.x | 1.8.x |
| 17.14.x | 1.6.2 |
Nota
Untuk kompatibilitas terbaik dan fitur terbaru, disarankan untuk menggunakan versi terbaru dari kedua paket bersama-sama.
Selimut
Coverlet Microsoft Testing Platform Integration (coverlet.MTP) adalah ekstensi asli untuk Microsoft.Testing.Platform yang mengimplementasikan coverlet.collector fungsionalitas.
Tambahkan paket coverlet.MTP NuGet ke project pengujian Anda:
dotnet add package coverlet.MTP
Untuk mengumpulkan cakupan kode, jalankan pengujian Anda dengan --coverlet flag.
dotnet test --coverlet
Atau jalankan program uji Anda dengan --coverlet flag:
dotnet exec <test-assembly.dll> --coverlet
Setelah uji coba, file yang coverage.json berisi hasil dihasilkan di direktori saat ini.
Opsi
| Option | Deskripsi |
|---|---|
--coverlet |
Aktifkan pengumpulan data cakupan kode. |
--coverlet-output-format <format> |
Format keluaran untuk laporan peliputan. Format yang didukung: json, , lcovopencover, cobertura, dan teamcity. Tentukan beberapa kali untuk menyertakan lebih dari satu format. |
--coverlet-include <filter> |
Sertakan rakitan yang cocok dengan filter, seperti [Assembly]Type. Tentukan beberapa kali untuk menambahkan lebih banyak filter. |
--coverlet-include-directory <path> |
Sertakan direktori tambahan untuk file sumber. Ulangi beberapa kali untuk menambahkan lebih banyak direktori. |
--coverlet-exclude <filter> |
Kecualikan rakitan yang cocok dengan filter, seperti [Assembly]Type. Tentukan beberapa kali untuk menambahkan lebih banyak filter. |
--coverlet-exclude-by-file <pattern> |
Kecualikan file sumber yang cocok dengan pola glob. Tentukan beberapa kali untuk menambahkan lebih banyak pola. |
--coverlet-exclude-by-attribute <attribute> |
Kecualikan metode atau kelas yang didekorasi dengan atribut tertentu. Tentukan beberapa kali untuk menambahkan lebih banyak atribut. |
--coverlet-include-test-assembly |
Sertakan assembly pengujian dalam laporan cakupan. |
--coverlet-single-hit |
Batasi jumlah temuan hingga satu untuk setiap lokasi dalam kode. |
--coverlet-skip-auto-props |
Lewati properti yang diterapkan secara otomatis dalam cakupan. |
--coverlet-does-not-return-attribute <attribute> |
Atribut yang menandai metode sebagai tidak kembali. Tentukan beberapa kali untuk menambahkan lebih banyak atribut. |
--coverlet-exclude-assemblies-without-sources <value> |
Kecualikan rakitan tanpa kode sumber. Nilai: MissingAll, MissingAny, dan None. |
Untuk informasi selengkapnya, lihat dokumentasi coverlet.MTP.