Unduh ekstensi ini dari Visual Studio Market Place ( vs 2019 ), Visual Studio Market Place ( vs 2022 ) atau unduh dari rilis. Versi lama dapat diperoleh dari sini.
Untuk .Net - adaptor pengujiannya adalah paket nuget. Misalnya, ekstensi NUnit Test Adapter tidak cukup.
Cakupan Kode Halus menyediakan cakupan kode menggunakan salah satu dari 3 alat cakupan yang berbeda. Dalam rilis sebelumnya ada dua alat liputan yang digunakan, OpenCover dan Coverlet yang akan disebut sebagai 'liputan lama'.
Microsoft kini menyediakan solusi cakupan gratis yang dapat Anda pilih untuk digunakan dengan mengatur opsi enumerasi Visual Studio Fine Code Coverage RunMsCodeCoverage. Ini mungkin akan menjadi alat cakupan pilihan bagi sebagian besar pengembang. Saat ini dalam versi Beta.
Dengan cakupan yang lama, FCC dapat memberikan abstraksi atas opsi pengecualian/penyertaan setiap alat. Abstraksi ini tidak berfungsi untuk cakupan kode MS.
Dengan demikian, Anda akan menemukan bahwa ada opsi konfigurasi terpisah untuk cakupan Ms vs cakupan lama dan opsi yang umum untuk keduanya. Pengecualian dan penyertaan tingkat Majelis dapat dicapai - lihat ExcludeAssemblies dan IncludeAssemblies. Konfigurasi (sebagian besar) ditentukan dari opsi Visual Studio, file finecodecoverage-settings.xml, dan properti msbuild proyek. Semua pengaturan ini bersifat opsional. Untuk opsi yang memiliki cakupan proyek, pengaturan ini membentuk hierarki di mana tingkat yang lebih rendah menimpa atau, untuk koleksi, menimpa atau menggabungkan dengan tingkat di atasnya. Hal ini dijelaskan secara rinci lebih lanjut.
Terlepas dari alat cakupan yang digunakan, prosesnya dimulai dengan FCC bereaksi terhadap penjelajah uji di studio visual. Salah satu dari 3 alat cakupan memberikan hasil cakupan dan hasilnya dapat dibuka dari tombol pada Jendela Alat Cakupan Kode Halus. Cakupan ini tidak dinamis dan mewakili cakupan yang diperoleh dari terakhir kali Anda menjalankan pengujian. Ketika cakupan menjadi usang, Anda dapat mengklik tombol 'FCC Clear UI' di Alat atau menjalankan cakupan lagi.
Detail tentang kemajuan FCC dalam cakupan kode dapat ditemukan di tab Log Cakupan di Jendela Alat Cakupan Kode Halus, dan log lebih detail di Panel Jendela Output FCC. Jika Anda mengalami masalah maka menyediakan log dari jendela keluaran akan membantu memahami sifat masalahnya.
Sajikan satu laporan terpadu di Jendela Alat Cakupan Kode Halus. Laporan tersebut menunjukkan cakupan jalur dan cabang serta hotspot risiko dengan fasilitas untuk membuka file kelas Anda.
Margin berwarna untuk menunjukkan status cakupan kode Anda. Baris kode yang diinstrumentasikan (disertakan dan dapat dianalisis) tercakup, tidak tertutup, atau tertutup sebagian yang berarti tidak semua cabang dieksekusi.
FCC memberikan konsep wilayah kotor di mana kode yang diinstrumentasi sebelumnya tidak lagi menampilkan status yang diinstrumentasi setelah Anda mengubah kode.
Untuk C# dan Visual Basic memberikan informasi cakupan lebih lanjut :
FCC juga memungkinkan Anda melihat kode yang tidak disertakan dalam cakupan dan baris baru yang telah ditambahkan sejak cakupan terakhir dijalankan.
Pewarnaan garis kotor dan baru perlu diaktifkan dalam opsi.
Jika diinginkan, garis juga dapat disorot dengan mengatur opsi Visual Studio yang tersedia. Baca terus untuk lebih jelasnya.
Warna dapat dikontrol melalui Visual Studio / Tools / Options / Environment / Fonts and Colors / Text Editor / Display Items :
Untuk Visual Studio Community, Professional dan Enterprise Anda dapat menggunakan pengaturannya
Cakupan Area Tersentuh FCC
Cakupan Area Tersentuh Sebagian FCC
Cakupan Area Tidak Tersentuh FCC
Cakupan Area Kotor FCC
Cakupan Area Jalur Baru FCC
Cakupan Tidak Termasuk Area FCC
Untuk versi yang menyediakan item di bawah FCC akan menggunakannya secara default di atas item FCC yang setara sehingga warna yang ditentukan dalam tema dapat digunakan. Jika Anda ingin konsisten untuk 5 item yang tersedia, Anda dapat mengatur UseEnterpriseFontsAndColors ke false.
Cakupan Area Tidak Tersentuh
Cakupan Area Tersentuh Sebagian
Cakupan Area Tersentuh
Anda dapat mematikan pewarnaan editor dengan mengatur opsi visual studio EditorCoverageColouringMode ke Off. Anda juga dapat mengatur opsi ke DoNotUseRoslynWhenTextChanges jika ada masalah kinerja. Dengan melakukan itu pewarnaan garis baru tidak akan sebaik itu. Jika Anda beralih ke salah satu opsi EditorCoverageColouringMode maka Anda perlu menjalankan kembali liputan.
Anda dapat mengganti pewarnaan editor. FCC menambahkan tombol menu, Toggle Indicators, di menu Tools. Anda juga dapat membuat pintasan keyboard - Alat / Opsi / Lingkungan / Keyboard, tampilkan perintah yang berisi "ToggleIndicators".
Untuk komponen Blazor dengan blok @code, garis cakupan dapat dibuat di luar wilayah ini. Ketika pohon sintaksis Roslyn tersedia untuk FCC, Anda dapat mengatur opsi BlazorCoverageLinesFromGeneratedSource ke true untuk membatasi garis cakupan dalam file .razor ke yang ada di sumber yang dihasilkan.
FCC melacak editor visual studio dan menyimpan informasi ini ketika file ditutup. Jika saat membuka kembali file, teks telah berubah di luar jendela dokumen, tidak akan ada tanda cakupan untuk file ini karena garis cakupan diharapkan tidak lagi benar..
Juga tidak akan ada tanda editor jika Anda mengedit file saat FCC sedang mengumpulkan liputan.
Dengan cakupan lama, FCC diperlukan untuk menyalin dll pengujian dan dependensi Anda dan menjalankan OpenCover atau Coverlet pada file tersebut. Ini tidak perlu dengan cakupan kode ms. Cakupan lama akan menunggu hingga pengujian selesai sebelum memulai alat cakupan untuk menjalankan kembali semua pengujian. Ini tidak perlu dengan cakupan kode ms. Cakupan lama didasarkan pada setiap tes. Cakupan kode Ms adalah cakupan dari tes yang Anda pilih di test explorer.
Mendukung C++! Perhatikan bahwa FCC belum diuji dengan benar dengan proyek C++ tetapi dengan kelas C++ sederhana, diuji dengan Google Test, FCC menyediakan cakupan.
Pertama, Anda perlu mengubah opsi RunMsCodeCoverage dari No.
Cakupan kode Ms memerlukan file runsettings yang dikonfigurasi dengan tepat untuk cakupan kode. Ini mengharuskan Anda memiliki paket cakupan kode ms dan menunjuknya dengan elemen TestAdaptersPaths serta menentukan pengumpul data ms. Pengecualian dan penyertaan juga ditentukan dalam pengaturan proses. Menurut saya dokumentasinya tidak cukup jelas tentang cara kerjanya sehingga Anda mungkin ingin melihat masalah ini.
FCC tidak mengharuskan Anda melakukan ini. Jika Anda tidak menyediakan pengaturan proses dan RunMsCodeCoverage adalah Ya, maka FCC akan membuatnya dan menulis entri yang diperlukan dalam file proyek.
Perhatikan bahwa membuka file proyek pengujian di visual studio saat menjalankan pengujian dapat mengakibatkan peringatan konflik ketika FCC menghapus entri di akhir pengujian. Jika RunMsCodeCoverage adalah IfInRunSettings maka jika proyek memiliki pengaturan yang menyertakan elemen pengumpul data ms yang dikonfigurasi dengan benar maka FCC akan memproses hasil yang dikumpulkan.
FCC menyertakan paket cakupan kode ms dan akan membuat file runsettings yang diperlukan untuk setiap proyek pengujian yang dijalankan dari jendela penjelajah pengujian. Pengecualian dan penyertaan akan berasal dari pengaturan gabungan, dengan cara yang mirip dengan cakupan lama. Karena cakupan kode ms menggunakan regex dan memiliki metode pengecualian/penyertaan yang berbeda dengan Coverlet dan OpenCover, ada opsi Visual Studio khusus ms dan elemen terkait.
Karena FCC menyediakan file runsettings untuk setiap proyek pengujian (jika Anda belum memberikan solusi secara luas atau spesifik proyek), FCC harus menulis elemen RunSettingsFilePath di file proyek.
Meskipun FCC menghapus nilai elemen ini dari file proyek, elemen ini masih ada.
FCC membuat pengaturan proses dari templat menggunakan penggantian string. Jika diinginkan, Anda dapat menyediakan templat Anda sendiri. FCC akan mencari fcc-ms-runsettings-template.xml di direktori proyek atau direktori solusi. Templat Anda harus berupa dokumen xml yang valid namun tidak perlu menyediakan semua elemen pengaturan proses. FCC akan menambahkan elemen ResultsDirectory dan TestAdaptersPaths (dan elemen container RunConfiguration jika perlu) yang dapat diganti jika tidak ada. FCC juga akan menambahkan elemen ms DataCollector/Configuration/CodeCoverage yang dapat diganti jika tidak ada. Ini juga akan menambahkan elemen CodeCoverage non-pengecualian/penyertaan yang direkomendasikan AllowLowIntegrityProcesses, CollectFromChildProcesses, CollectAspDotNet, dan UseVerifyingInstrumentation jika tidak disediakan. UseVerifiedInstrumentation akan salah untuk .Net Framework. Untuk melihat pengaturan proses yang dihasilkan, gunakan elemen RunSettingsFilePath di file proyek.
Untuk templat khusus, yang menyediakan elemennya sendiri yang seharusnya disediakan oleh FCC, untuk berpartisipasi dalam penggantian templat, Anda perlu menambahkan string bertipe %fcc_replace%.
Tidak termasuk dan termasuk ikuti format "%fcc_modulepaths_exclude%". Agar FCC menyediakan jalur cakupan kode ms yang disediakan fcc ke TestAdaptersPaths, gunakan %fcc_testadapter%.
Dimungkinkan juga untuk menggunakan file runsettings Anda sendiri dan meminta FCC menambahkan dan menggantinya. FCC akan memastikan bahwa elemen TestAdaptersPaths ada serta pengumpul data ms. Berbeda dengan templat, jika pengumpul data ms ada maka xml hanya memiliki penggantian yang diterapkan padanya.
Cakupan kode Ms menyediakan elemen Konfigurasi/Coverage default jika tidak disediakan. Ini juga akan menambahkan beberapa pengecualian default jika tidak ada atau menggabungkannya kecuali Anda menambahkan atribut mergeDefaults='false'. Misalnya Atribut mengecualikan ExcludeFromCodeCoverageAttribute. Jika Anda tertarik lihat ...AppDataLocalFineCodeCoveragemsCodeCoverage_version_buildnetstandard1.0Microsoft.VisualStudio.TraceDataCollector.dll dan DynamicCoverageDataCollector.
Silakan periksa pemecahan masalah sebelum melaporkan masalah.
Dll disalin ke sub folder folder keluaran proyek yang mungkin mempengaruhi pengujian Anda. Alternatifnya adalah dengan menyetel opsi AdjacentBuildOutput ke true. Cakupan disediakan oleh OpenCover untuk proyek gaya lama dan Coverlet untuk proyek SDK gaya baru. Meskipun FCC memberikan abstraksi atas keduanya sehingga memungkinkan untuk mengabaikan perbedaan antara keduanya namun ada keadaan dimana penting untuk mengetahui cover tool yang akan dijalankan. Hal ini paling jelas terlihat saat Coverlet digunakan, silakan baca terus untuk mengetahui detailnya.
Skenario lainnya adalah ketika Anda ingin menggunakan versi alat cakupan tertentu. Ini dapat dikonfigurasi.
Alat cakupan yang dimanfaatkan FCC secara default diinstal ke direktori FineCodeCoverage dalam Environment.SpecialFolder.LocalApplicationData
. Ini dapat diubah dengan opsi ToolsDirectory Visual Studio. Pastikan direktori yang berisi ini ada dan setelah restart alat akan diinstal di dalamnya.
Jalankan (beberapa) pengujian unit dan ...
Hierarkinya adalah sebagai berikut:
a) Opsi Visual Studio
b) file finecodecoverage-settings.xml
Ini ditemukan dengan menelusuri struktur direktori dari direktori proyek. Dengan menerapkan atribut topLevel='true' ke elemen root, perjalanan berhenti.
Mengingat finecodecoverage-settings.xml di direktori proyek dan finecodecoverage-settings.xml di direktori solusi, hierarkinya adalah:
Opsi Visual Studio
Tingkat solusi finecodecoverage-settings.xml
Finecodecoverage-settings.xml tingkat proyek
<FineCodeCoverage>
<Enabled>
True
</Enabled>
<!-- and more -->
</FineCodeCoverage>
c) file proyek msbuild
Ada dua cara untuk menyediakan pengaturan ini. Langsung di file proyek
<PropertyGroup Label="FineCodeCoverage">
<Enabled>
True
</Enabled>
<Exclude>
[ThirdParty.*]*
[FourthParty]*
</Exclude>
<Include>
[*]*
</Include>
<ExcludeByFile>
**/Migrations/*
**/Hacks/*.cs
</ExcludeByFile>
<ExcludeByAttribute>
MyCustomExcludeFromCodeCoverage
</ExcludeByAttribute>
<IncludeTestAssembly>
True
</IncludeTestAssembly>
<ModulePathsExclude>
.*Fabrikam.Math.UnitTest.dll
</ModulePathsExclude>
<!-- and more -->
</PropertyGroup>
Dengan elemen FineCodeCoverage.
<PropertyGroup>
<FineCodeCoverage>
<Enabled>
True
</Enabled>
<!-- and more -->
</FineCodeCoverage>
</PropertyGroup>
Ini diperlukan jika menyimpan pengaturan proyek di luar file proyek Anda dan menggunakan msbuild Import.
Hal ini juga diperlukan jika Anda ingin elemen pengaturan digabungkan dengan elemen dari level di atas karena msbuild tidak mendukung atribut khusus.
Defaultnya adalah menimpa setiap properti koleksi. Ini dapat diubah untuk semua pengaturan dengan mengatur defaultMerge='true' pada elemen root.
Jika Anda menyediakan atribut gabungan pada elemen pengaturan maka itu akan digunakan.
Ini bukan transitif.
<PropertyGroup>
<FCCExcludeFromCodeCoverage/>
</PropertyGroup>
<PropertyGroup>
<UseDataCollector/>
</PropertyGroup>
Coverlet memiliki "driver" yang berbeda. Cakupan Kode Baik di masa lalu hanya menggunakan driver konsol coverlet. Ini memiliki beberapa masalah yang terkait dengannya. Jika Anda menemukan cakupan 0% atau cakupan yang tidak konsisten, sekarang Anda dapat beralih ke driver Pengumpul Data. Ini adalah driver yang lebih baik tetapi tidak dapat digunakan untuk semua proyek. Untuk saat ini opt in. Nantinya Fine Code Coverage akan menentukan driver yang sesuai. Silakan berkonsultasi dengan dokumen coverlet untuk dukungan versi.
Perhatikan bahwa tidak perlu menambahkan paket nuget coverlet.collector karena FCC menyediakannya secara internal.
Cakupan Kode Baik akan menggunakan driver Pengumpul Data dalam dua keadaan :
Pengaturan Pengumpul Data Coverlet dapat ditemukan di sini. Jika Anda menggunakan opsi 2) di atas, maka Pengaturan umum (Pengecualian dan penyertaan) akan dihasilkan dari properti proyek (di atas) dan opsi studio visual global (lihat di bawah) dengan properti proyek yang diutamakan. Jika Anda menggunakan opsi 1) maka opsi proyek dan global hanya akan digunakan jika elemen Konfigurasi pengaturan umum tidak ada dan opsi RunSettingsOnly ( lihat di bawah) telah diubah menjadi salah.
Pilihan | Keterangan |
---|---|
Umum | |
EditorCakupanMode Pewarnaan | Atur ke Nonaktif, atau Atur ke DoNotUseRoslynWhenTextChanges jika ada masalah kinerja |
BlazorCoverageLinesFromGeneratedSource | Setel ke true untuk membatasi garis cakupan dalam file .razor ke garis cakupan yang ada di sumber yang dihasilkan (bila tersedia) |
Tampilkan Liputan Editor | Setel ke false untuk menonaktifkan semua indikator cakupan editor |
Tampilkan Cakupan Dalam GlyphMargin | Atur ke false untuk mencegah tanda cakupan pada margin mesin terbang |
Tampilkan Tercakup Dalam GlyphMargin | Atur ke false untuk mencegah tanda tertutup pada margin mesin terbang |
TampilkanTerungkapDalamGlyphMargin | Atur ke false untuk mencegah tanda yang tidak tertutup pada margin mesin terbang |
TampilkanSebagian Tercakup Dalam GlyphMargin | Atur ke false untuk mencegah tanda tertutup sebagian pada margin mesin terbang |
TampilkanDirtyInGlyphMargin | Setel ke true untuk menampilkan tanda kotor di margin mesin terbang |
TampilkanNewInGlyphMargin | Setel ke true untuk menampilkan tanda garis baru di margin mesin terbang |
Tampilkan Cakupan Dalam Ikhtisar Margin | Atur ke false untuk mencegah tanda cakupan pada margin ikhtisar |
TampilkanCoveredInOverviewMargin | Atur ke false untuk mencegah tanda tertutup pada margin ikhtisar |
TampilkanUncoveredInOverviewMargin | Atur ke false untuk mencegah tanda yang tidak tertutup pada margin ikhtisar |
TampilkanSebagian Tercakup DalamIkhtisarMargin | Atur ke false untuk mencegah tanda tertutup sebagian pada margin ikhtisar |
TampilkanDirtyInOverviewMargin | Atur ke true untuk menampilkan tanda kotor di margin ikhtisar |
TampilkanBaruDalamIkhtisarMargin | Atur ke true untuk menampilkan tanda garis baru di margin ikhtisar |
Sorotan ShowLineCoverage | Atur ke true untuk memungkinkan penyorotan garis cakupan |
Sorotan ShowLineCovered | Atur ke false untuk mencegah penyorotan garis tertutup |
Sorotan ShowLineUncovered | Setel ke false untuk mencegah penyorotan garis yang tidak tertutup |
ShowLinePartiallyCoveredSorotan | Atur ke false untuk mencegah penyorotan garis tertutup sebagian |
Sorotan ShowLineDirty | Setel ke true untuk menampilkan penyorotan garis kotor |
ShowLineNewMenyoroti | Setel ke true untuk menampilkan penyorotan baris baru |
GunakanEnterpriseFontsAndColors | Setel ke false untuk menggunakan item Font dan Warna FCC |
ShowToolWindowToolbar | Setel ke false untuk menyembunyikan toolbar di jendela alat. Memerlukan memulai ulang Visual Studio. Toolbar memiliki tombol untuk melihat Cobertura xml dan hotspot risiko. |
Nama Direktori Keluaran Solusi FCC | Agar keluaran fcc terlihat di sub folder solusi Anda, berikan nama ini |
Direktori Alat | Folder tempat subfolder alat salin. Pasti sudah ada. Memerlukan restart VS. |
Ambang Batas Untuk Kompleksitas Siklomatik | Ketika kompleksitas siklomatik melebihi nilai ini untuk suatu metode, maka metode tersebut akan muncul di tab hotspot risiko. |
Tabel Cakupan Lengket | Setel ke true agar tabel cakupan memiliki iklan yang melekat. |
Kelas dengan Namespace | Setel ke false untuk menampilkan jenis laporan dalam bentuk singkat. Mempengaruhi pengelompokan. |
Kualifikasi Namespace | Kontrol kualifikasi tipe dalam laporan ketika NamespacedClasses benar. FullyQualified - selalu memenuhi syarat sepenuhnya. Selalu Tidak Memenuhi Syarat - selalu tidak memenuhi syarat. UnqualifiedByNamespace - tidak memenuhi syarat saat mengelompokkan berdasarkan namespace. QualifiedByNamespaceLevel - menghilangkan bagian pengidentifikasi tingkat pengelompokan pertama. Mengurangi ruang sambil mempertahankan keunikan. |
Sembunyikan Sepenuhnya Tertutup | Setel ke true untuk menyembunyikan kelas, namespace, dan rakitan yang tercakup sepenuhnya. |
Sembunyikan0 Cakupan | Setel ke true untuk menyembunyikan kelas, namespace, dan rakitan yang memiliki cakupan 0%. |
Sembunyikan0 Dapat Ditutupi | Atur ke false untuk menampilkan kelas, namespace, dan rakitan yang tidak dapat dicakup. |
Diaktifkan | Menentukan apakah keluaran cakupan diaktifkan atau tidak |
DinonaktifkanTidak Ada Cakupan | Setel ke false untuk Opsi VS Diaktifkan=false untuk tidak menonaktifkan cakupan |
Jalankan Saat Tes Gagal | Secara default, cakupan berjalan ketika pengujian gagal. Setel ke false untuk mencegah hal ini. Tidak dapat digunakan bersama dengan RunInParallel |
JalankanSaat TesMelebihi | Tentukan nilai untuk hanya menjalankan cakupan berdasarkan jumlah pengujian yang dijalankan. Tidak dapat digunakan bersama dengan RunInParallel |
JalankanMsCodeCoverage | Ubah ke IfInRunSettings untuk hanya mengumpulkan dengan pengaturan proses yang dikonfigurasi. Ya untuk generasi runsettings. |
SertakanTestAssembly | Menentukan apakah akan melaporkan cakupan kode rakitan pengujian |
Sertakan Proyek yang Direferensikan | Setel ke true untuk menambahkan semua proyek yang direferensikan langsung ke Sertakan. |
Sertakan Majelis | Berikan daftar majelis untuk disertakan dalam liputan. Nama dll tanpa ekstensi digunakan untuk pencocokan. |
Kecualikan Majelis | Berikan daftar majelis yang tidak termasuk dalam cakupan. Nama dll tanpa ekstensi digunakan untuk pencocokan. |
OpenCover / Selimut | |
Output Build yang Berdekatan | Jika pengujian Anda bergantung pada jalurnya, setel ini ke true. |
Mengecualikan | Filter ekspresi untuk mengecualikan modul dan tipe tertentu (beberapa nilai) |
Termasuk | Filter ekspresi untuk menyertakan modul dan tipe tertentu (beberapa nilai) |
KecualikanByFile | OpenCover menggunakan * pencocokan wildcard. Coverlet menggunakan sistem file globbing |
Kecualikan Oleh Atribut | Kecualikan kode yang diatribusikan pada tingkat perakitan, jenis, dan metode. Tambahkan jenis atribut yang sepenuhnya memenuhi syarat atau tidak memenuhi syarat. |
Jalankan Secara Paralel | Secara default, pengujian OpenCover / Coverlet dijalankan dan kemudian cakupan dilakukan. Setel ke true untuk segera menjalankan liputan |
Cakupan kode Ms | Masing-masing di bawah ini adalah array regex yang akan diubah menjadi elemen runsettings, lihat |
ModulePathsExclude | Kecualikan - Mencocokkan rakitan yang ditentukan berdasarkan nama rakitan atau jalur file. |
ModulePathsSertakan | Sertakan - Mencocokkan rakitan yang ditentukan berdasarkan nama rakitan atau jalur file. |
Nama Perusahaan Kecualikan | Kecualikan - Mencocokkan rakitan berdasarkan atribut Perusahaan. |
Nama PerusahaanSertakan | Sertakan - Mencocokkan rakitan berdasarkan atribut Perusahaan. |
Pengecualian PublicKeyToken | Kecualikan - Mencocokkan rakitan yang ditandatangani dengan token kunci publik. |
Termasuk PublicKeyToken | Sertakan - Mencocokkan rakitan yang ditandatangani dengan token kunci publik. |
SumberTidak termasuk | Kecualikan - Mencocokkan elemen berdasarkan nama jalur file sumber tempat elemen tersebut ditentukan. |
Sumber Termasuk | Sertakan - Mencocokkan elemen berdasarkan nama jalur file sumber tempat elemen tersebut ditentukan. |
Atribut Kecualikan | Kecualikan - Mencocokkan elemen yang memiliki atribut tertentu. Tentukan nama lengkap atribut |
Atribut Termasuk | Sertakan - Mencocokkan elemen yang memiliki atribut tertentu. Tentukan nama lengkap atribut |
Fungsi Kecualikan | Kecualikan - Mencocokkan prosedur, fungsi, atau metode dengan nama yang sepenuhnya memenuhi syarat, termasuk daftar parameter. |
Fungsi Termasuk | Sertakan - Mencocokkan prosedur, fungsi, atau metode dengan nama yang sepenuhnya memenuhi syarat, termasuk daftar parameter. |
Selimut | |
JalankanPengaturan Saja | Tentukan false untuk opsi global dan proyek yang akan digunakan untuk elemen konfigurasi pengumpul data coverlet bila tidak ditentukan dalam pengaturan proses |
Jalur Direktori CoverletCollector | Tentukan jalur ke direktori yang berisi file kolektor selimut jika Anda memerlukan fungsionalitas yang tidak disediakan oleh versi FCC. |
CoverletConsoleLocal | Tentukan true untuk menggunakan instalasi lokal konsol coverlet alat dotnet Anda sendiri. |
CoverletConsoleCustomPath | Tentukan jalur ke exe konsol coverlet jika Anda memerlukan fungsionalitas yang tidak disediakan oleh versi FCC. |
CoverletConsoleGlobal | Tentukan true untuk menggunakan instalasi global konsol coverlet alat dotnet Anda sendiri. |
Pengaturan "CoverletConsole" diutamakan Lokal / CustomPath / Global. | |
Buka Sampul | |
OpenCoverRegister | Ubah dari Default jika penentuan FCC pada path32 atau path64 salah. |
Target Sampul Terbuka | Berikan target Anda sendiri jika diperlukan. |
OpenCoverTargetArgs | Jika memberikan target Anda sendiri, Anda juga dapat memberikan argumen tambahan. FCC menyediakan jalur pengujian dll. |
OpenCoverCustomPath | Tentukan jalur untuk membuka cover exe jika Anda memerlukan fungsionalitas yang tidak disediakan oleh versi FCC. |
Kompleksitas ThresholdForNPath | Ketika kompleksitas npath melebihi nilai ini untuk suatu metode, maka metode tersebut akan ada di tab hotspot risiko. |
ThresholdForCrapScore | Ketika skor crap melebihi nilai ini untuk suatu metode, maka metode tersebut akan ada di tab hotspot risiko. |
Anda mungkin ingin menyetel IncludeReferencedProjects ke true. Ini akan memastikan bahwa Anda tidak mendapatkan cakupan untuk kerangka pengujian - hanya kode Anda.
Coverlet dan OpenCover menggunakan ekspresi filter. Saring ekspresi
Karakter pengganti
* => cocok dengan nol atau lebih karakter Contoh
[*]* => Semua tipe di semua rakitan.
[coverlet.*]Coverlet.Core.Coverage => Kelas Coverage di namespace Coverlet.Core milik perakitan mana pun yang cocok dengan coverlet.* (misalnya coverlet.core)
[*]Coverlet.Core.Instrumentation.* => Semua tipe milik namespace Coverlet.Core.Instrumentation di perakitan mana pun
[coverlet.*.tests]* => Semua tipe dalam rakitan apa pun dimulai dengan coverlet. dan diakhiri dengan .tests
Opsi 'Kecualikan' dan 'Sertakan' dapat digunakan bersamaan, namun opsi 'Kecualikan' akan diutamakan.
Cakupan kode Ms menggunakan regex. Anda dapat menyertakan atau mengecualikan majelis atau tipe dan anggota tertentu dari analisis cakupan kode. Jika bagian Sertakan kosong atau dihilangkan, maka semua rakitan yang dimuat dan memiliki file PDB terkait akan disertakan. Jika suatu majelis atau anggota cocok dengan klausa di bagian Kecualikan, maka klausa tersebut dikecualikan dari cakupan kode. Bagian Kecualikan lebih diutamakan daripada bagian Sertakan: jika sebuah rakitan terdaftar di Sertakan dan Kecualikan, maka rakitan tersebut tidak akan disertakan dalam cakupan kode.
Anda dapat mengabaikan metode atau seluruh kelas dari cakupan kode dengan menerapkan atribut [ExcludeFromCodeCoverage] yang ada di namespace System.Diagnostics.CodeAnalysis.
Untuk .Net (bukan .Net Framework) atribut ini dapat diterapkan di tingkat perakitan.
Untuk .Net Framework, lihat FCCExcludeFromCodeCoverage, di atas, untuk fungsi serupa.
Untuk mengabaikan kode yang diatribusikan dengan tipe berbeda:
Anda juga dapat mengabaikan atribut tambahan dengan menambahkan ke daftar 'ExcludeByAttribute' Untuk Coverlet/OpenCover tambahkan ke daftar 'ExcludeByAttribute' ( sepenuhnya memenuhi syarat atau tidak memenuhi syarat). Untuk cakupan kode ms, tambahkan ke daftar 'AttributesExclude'. Ini menggunakan pencocokan regex.
Output FCC, secara default, di dalam folder Debug setiap proyek pengujian. Jika mau, Anda dapat menentukan folder untuk menampung file keluaran secara internal dan digunakan oleh FCC. Kedua metode di bawah ini mencari direktori yang berisi file .sln di direktori berpengaruh dari direktori yang berisi file proyek pengujian pertama. Jika direktori solusi seperti itu ditemukan maka logikanya berlaku.
Jika direktori solusi memiliki sub direktori fcc-output maka secara otomatis akan digunakan.
Alternatifnya, jika Anda memasukkan FCCSolutionOutputDirectoryName dalam opsi, direktori akan dibuat jika perlu dan digunakan.
Lihat pedoman kontribusi jika Anda ingin berkontribusi pada proyek ini.
Untuk mengkloning dan membangun proyek ini sendiri, pastikan untuk menginstal ekstensi Extensibility Essentials untuk Visual Studio yang mengaktifkan beberapa fitur yang digunakan oleh proyek ini.
Apache 2.0
Selimut
Buka Sampul
Pembuat Laporan
Penyedia | Jenis | Link |
---|---|---|
Paypal | Sekali | |
Liberapay | Berulang |