Bagikan melalui


Ekstensi cakupan kode

Artikel ini mencantumkan dan menjelaskan semua ekstensi Microsoft.Testing.Platform yang terkait dengan kemampuan cakupan kode.

Anda dapat menggunakan fitur cakupan kode untuk menentukan proporsi kode proyek 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 dikirim sebagai bagian dari paket Microsoft.Testing.Extensions.CodeCoverage NuGet.

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 pustaka Microsoft .NET yang bersifat sumber tertutup dan model lisensi gratis untuk digunakan.

Untuk informasi selengkapnya tentang cakupan kode Microsoft, lihat halaman GitHub .

Cakupan Kode Microsoft menyediakan opsi berikut:

Pilihan 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 pengaturan dan sampel .

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 Cakupan Kode.

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

Penting

Paket coverlet.collector NuGet dirancang khusus untuk VSTest dan tidak dapat digunakan dengan Microsoft.Testing.Platform.

Saat ini tidak ada ekstensi Coverlet, tetapi Anda dapat menggunakan alat global Coverlet .NET.

Dengan asumsi Anda telah menginstal alat global Coverlet, Anda sekarang dapat menjalankan:

coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"