Alat yang memungkinkan aturan cakupan kode ditentukan per file. Tetapkan ambang batas cakupan minimum untuk setiap file dan konfigurasikan cakupan minimum khusus untuk file yang ada jika cakupan pengujian saat ini belum memenuhi standar. Kegagalan inspeksi akan ditampilkan dalam format checkstyle, sehingga memungkinkan untuk diimpor dalam alat ci/cd.
Perhitungan cakupan standar dihitung di seluruh basis kode. Jika misalnya ambang batasnya adalah 80% dan satu file turun di bawah 80%, Anda tidak akan pernah menyadarinya karena cakupan keseluruhannya meningkat dari 87,6% menjadi 87,4%. Paket ini memastikan hal tersebut tidak terjadi lagi dan cakupan dihitung berdasarkan per file.
Masukan: cakupan semanggi.xml
Keluaran: checkstyle atau gitlab
Sertakan perpustakaan sebagai ketergantungan dalam proyek Anda sendiri melalui:
composer require "digitalrevolution/phpunit-file-coverage-inspection" --dev
File: phpfci.xml
<?xml versi="1.0" pengkodean="UTF-8"?> <phpfci xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="vendor/digitalrevolution/phpunit-file-coverage-inspection/resources/phpfci.xsd"min-coverage= "100"bolehkan-metode-terungkap-="salah"> <custom-coverage><!-- aturan cakupan berbasis direktori --><directory path="src/Lib/" min="90"/><!-- subdirektori akan menggantikan aturan direktori induk --><jalur direktori ="src/Lib/Config/" min="100"/><!-- aturan file akan selalu menggantikan aturan direktori --><file path="src/Lib/Config/File.php" min="80 "/> </custom-coverage> <!-- ketika 'allow-uncovered-methods' disetel ke false, ganti perilaku ini untuk file tertentu: --><ignore-uncovered-methods> <jalur file="src/Command/ExampleCommand.php"/> </abaikan-metode-terungkap> </phpfci>
Pilihan | Diperlukan | Bawaan | Keterangan |
---|---|---|---|
cakupan minimum | Ya | - | Cakupan global minimum |
izinkan-metode-terungkap | TIDAK | PALSU | Semua metode setidaknya harus memiliki cakupan tertentu |
atau buat file konfigurasi berdasarkan hasil cakupan yang ada
php vendor/bin/phpfci garis dasar --baseDir /home/ci/workspace coverage.xml ./phpfci.xml
Direktori dasar akan dikurangi dari jalur file di coverage.xml
Format gaya centang:
php vendor/bin/phpfci memeriksa cakupan.xml --reportCheckstyle=reports/checkstyle.xml
Format Gitlab:
php vendor/bin/phpfci memeriksa coverage.xml --reportGitlab=reports/gitlab.errors.json
Format Gitlab ke file dan output teks ke stdout:
php vendor/bin/phpfci memeriksa coverage.xml --reportGitlab=reports/gitlab.errors.json --reportText
Format teks ke stdout:
vendor php/bin/phpfci memeriksa coverage.xml vendor php/bin/phpfci memeriksa cakupan1.xml cakupan2.xml
php vendor/bin/phpfci memeriksa coverage.xml --reportText
Pilihan | Nilai-nilai | Keterangan |
---|---|---|
argument 1 | inspect , baseline | perintah untuk mengeksekusi. |
argument 2 [ argument 3 ]... | coverage.xml [ coverage2.xml ] | file masukan cakupan semanggi phpunit. |
--reportGitlab=[<file>] | jalur file atau jika tidak ada stdout | file (atau stdout) untuk menulis format gitlab. |
--reportCheckstyle=[<file>] | jalur file atau jika tidak ada stdout | file (atau stdout) untuk menulis format checkstyle. |
--reportText=[<file>] | jalur file atau jika tidak ada stdout | file (atau stdout) untuk menulis format checkstyle. |
--config=<path-to-file> | phpfci.xml | jalur ke file konfigurasi. |
--baseDir=<path> | default ke direktori file output | Direktori root proyek, akan digunakan untuk membuat jalur menjadi relatif. |
--exit-code-on-failure | - | Tetapkan kode keluar ke 1 ketika ada kegagalan. |
Catatan: jika --reportGitlab
, --reportCheckstyle
atau --reportText
tidak disetel, maka defaultnya adalah --reportText=php://stdout
Argumen ketiga yang diperlukan dan --report
telah dihapus, dan harus diganti dengan: --reportGitlab=<file>
, --reportCheckstyle=<file>
atau --reportText=<file>
Di 123inkt (Bagian dari Revolusi Digital BV), setiap hari lebih dari 50 profesional pengembangan berupaya meningkatkan ERP internal dan beberapa toko kami. Apakah Anda ingin bergabung dengan kami? Kami sedang mencari pengembang.