Cakupan Kode Delphi adalah alat cakupan kode sederhana untuk Delphi yang membuat laporan cakupan kode berdasarkan file peta terperinci.
Silakan lihat juga proyek ini karena menambahkan wizard ke IDE Delphi untuk membantu membuat konfigurasi dan meluncurkan cakupan kode Delphi.
Proyek yang ingin Anda jalankan laporan cakupan kode untuk harus memiliki konfigurasi "debug" yang menghasilkan file peta terperinci.
Cakupan kode Delphi saat ini hanya mengukur "cakupan garis", yaitu akan melacak setiap baris bahwa kode itu dihasilkan untuk dan menandai jika dieksekusi.
Untuk aplikasi yang menggunakan pustaka paket Borland (yang pada dasarnya adalah DLL) atau DLL eksternal, DCC akan mencoba memuat file .map untuk setiap DLL dan jika ada dan unit di perpustakaan tersebut adalah bagian dari unit yang ditutup, cakupan kode akan menjangkau DLL/BPL yang dimuat sebagai bagian dari aplikasi. File .map perlu ada di direktori yang sama dengan DLL yang dimuat.
Unduh rilis terbaru, unzip file dan masukkan misalnya di direktori "bin" instalasi delphi Anda atau di suatu tempat di mana ia berada di "path".
Semua parameter memahami juga variabel lingkungan dalam gaya batch (misalnya % windir % dll.) Jika file digunakan untuk direktori sumber (lihat -spf ) ada juga variabel lingkungan yang diizinkan. Kemungkinan untuk mengecualikan unit spesifik dalam file unit (lihat -uf ) dengan mempersiapkan "!" sebelum nama unit.
Buka prompt baris perintah di direktori tempat aplikasi dan dapat dieksekusi Anda.
Jenis: CodeCoverage -m TestApp.map -e TestApp.exe -u TestUnit TestUnit2 -xml -html
Karena fitur bahasa yang lebih baru digunakan, diperlukan kompiler yang agak lebih baru. Proyek ini diketahui tidak mendukung Delphi XE2. Xe3 mungkin akan berhasil. Pengembangan utama dilakukan dengan versi 10.x.
-html sebagai parameter)Untuk setiap unit akan ada unit.html dengan ringkasan cakupan, diikuti oleh sumber yang ditandai. Garis hijau tertutup. Garis merah bukan garis tertutup. Baris lain tidak memiliki kode yang dihasilkan untuk itu. Ada juga file codecoverage_summary.html yang merangkum cakupan dan memiliki tautan ke laporan unit yang dihasilkan.
-xml sebagai parameter)Ringkasan laporan XML yang disebut codecoverage_summary.xml dihasilkan di direktori output yang kompatibel dengan output XML dari EMMA. Gunakan dalam kombinasi dengan sakelar '-xmllines' dan '-xmlgenerics' untuk cakupan kode terperinci per baris.
-emma atau -emma21 sebagai parameter)Sekarang dimungkinkan untuk membuat output kompatibel EMMA yang memungkinkan untuk menggunakan EMMA untuk menggabungkan beberapa cakupan kode berjalan serta menggunakan EMMA untuk menghasilkan laporan.
DCC kompatibel dengan Delphi hingga 10.4.2, baik 32 dan 64 bit.
Anda dapat mengintegrasikan hasil laporan XML di Sonarqube. Lihat plugin Delphi Sonarqube atau versi yang lebih baru di sini untuk informasi terperinci.
Anda dapat mengintegrasikan laporan XML menggunakan plugin Hudson Emma. Laporan HTML dapat diintegrasikan menggunakan plugin HTML Publisher.
Yang terbaru dirilis dimungkinkan melalui dukungan dermawan dari DevFactory dan Mendrix.
Proyek ini terinspirasi oleh alat -alat hebat di dunia Java seperti Emma. Proyek ini telah berlama -lama dalam bentuk yang belum selesai di harddrive saya selama lebih dari setahun. Akhirnya itu menyelinap keluar.
-m MapFile.map | File peta digunakan sebagai input |
-e Executable.exe | Yang dapat dijalankan untuk menjalankan |
-sd directory | Direktori tempat sumbernya dapat ditemukan |
-sp directory directory2 | Direktori tempat sumbernya dapat ditemukan |
-spf filename | Gunakan direktori sumber yang tercantum dalam file yang ditunjukkan oleh nama file. Satu direktori per baris dalam file |
-esm mask1 mask2 etc | Daftar topeng file untuk dikecualikan dari daftar unit |
-ism mask1 mask2 etc | Incude hanya unit yang cocok dengan masker file yang disediakan |
-ecp prefix1 mask2 etc | Daftar awalan kelas untuk dikecualikan dari cakupan |
-od directory | Direktori di mana file output akan diletakkan - note - direktori harus ada |
-u TestUnit TestUnit2 | Unit yang akan diperiksa untuk cakupan kode |
-uf filename | Unit sampul yang tercantum dalam file yang ditunjukkan oleh nama file. Satu unit per baris dalam file |
-v | Tunjukkan output verbose |
-dproj ProjectFile.dproj | Parsen file proyek untuk dir direkrika sumber, nama yang dapat dieksekusi, halaman kode, dan opsi lainnya. Perhatikan bahwa opsi yang hanya dapat memiliki nilai tunggal, seperti halaman kode, akan ditimpa dalam urutan penampilan jika beberapa sakelar terkait ditemui. |
-a Param Param2 | Parameter untuk diteruskan ke aplikasi yang akan diperiksa untuk cakupan kode. ^ adalah karakter pelarian |
-lt [filename] | Acara log ke file log teks. Nama file default adalah: delphi-code-coverage-debug.log |
-lapi | Acara log ke outputdebugstring windows api |
-ife | Sertakan ekstensi file - ini akan menghentikan "common.encodings" yang 'dikonversi' menjadi "umum" |
-efe | Kecualikan ekstensi file - Ini akan 'dikonversi' "common.encodings.pas" menjadi "common.encodings" (dan sayangnya, "Common.encodings" menjadi "Common"). Ini aktif secara default. |
-emma | Menghasilkan output cakupan EMMA sebagai 'cakupan.es' di direktori output. |
-emma21 | Menghasilkan output cakupan EMMA21 sebagai 'cakupan.es' di direktori output. |
-meta | Hasilkan file meta dan cakupan terpisah saat menghasilkan output EMMA - 'cakupan.em' dan 'cakupan.ec' akan dihasilkan untuk data meta dan data cakupan. Catatan: Kebutuhan -emma juga. |
-xml | Hasilkan Output Cakupan XML - Hasilkan Output XML sebagai 'Codecoverage_summary.xml' di direktori output. |
-xmllines | Menambahkan cakupan garis ke output cakupan XML yang dihasilkan. |
-xmlgenerics | Gabungkan cakupan garis untuk beberapa kejadian dari nama file yang sama (terutama berguna jika terjadi kelas generik). |
-html | Menghasilkan output cakupan html sebagai 'codecoverage_summary.html' di direktori output. |
-uns dll_or_exe unitname [unitname_2] | Buat namespace terpisah (nama namespace akan menjadi nama modul tanpa ekstensi) hanya untuk unit yang terdaftar dalam modul |
-mns name dll_or_exe [dll_or_exe_2] | Buat namespace terpisah dengan nama yang diberikan untuk DLL yang terdaftar: s. Semua modul yang dimuat dalam modul tersebut akan dinamai. |
-lcl LineCountLimit | Hitungan jumlah kali jalur dieksekusi hingga batas yang ditentukan |
-cp CodePage | Kode Halaman Jumlah file sumber |
-tec | Passthrough Kode EXITCE |
-twd | Gunakan jalur aplikasi sebagai direktori kerja |
Cakupan Kode Delphi dilisensikan berdasarkan ketentuan Lisensi Publik Mozilla, v. 2.0. Anda dapat memperoleh salinan lisensi di http://mozilla.org/mpl/2.0/.