เครื่องมือในการอนุญาตให้กำหนดกฎการครอบคลุมโค้ดต่อไฟล์ กำหนดเกณฑ์ความครอบคลุมขั้นต่ำสำหรับทุกไฟล์ และกำหนดค่าความครอบคลุมขั้นต่ำแบบกำหนดเองสำหรับไฟล์ที่มีอยู่ หากความครอบคลุมของการทดสอบปัจจุบันยังไม่ถึงมาตรฐาน ความล้มเหลวในการตรวจสอบจะถูกส่งออกในรูปแบบ Checkstyle ทำให้สามารถนำเข้าในเครื่องมือ ci/cd ได้
การคำนวณความครอบคลุมมาตรฐานจะคำนวณจากโค้ดเบสทั้งหมด ตัวอย่างเช่น หากเกณฑ์คือ 80% และไฟล์หนึ่งไฟล์ลดลงต่ำกว่า 80% คุณจะไม่มีทางสังเกตเห็นสิ่งนี้เลย เนื่องจากความครอบคลุมโดยรวมเพิ่มขึ้นจาก 87.6% เป็น 87.4% แพ็คเกจนี้ช่วยให้แน่ใจว่าสิ่งนั้นจะไม่เกิดขึ้นอีกต่อไป และความคุ้มครองจะถูกคำนวณเป็นรายไฟล์
อินพุต: clover Covers.xml
เอาท์พุต: checkstyle หรือ gitlab
รวมไลบรารีเป็นการพึ่งพาในโครงการของคุณผ่าน:
composer require "digitalrevolution/phpunit-file-coverage-inspection" --dev
ไฟล์: phpfci.xml
<?xml version="1.0" encoding="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"allow-uncovered-methods="false"> <custom-coverage><!-- กฎความครอบคลุมที่อิงตามไดเร็กทอรี --><directory path="src/Lib/" min="90"/><!-- ไดเร็กทอรีย่อยจะแทนที่กฎไดเร็กทอรีหลัก --><เส้นทางไดเร็กทอรี ="src/Lib/Config/" min="100"/><!-- กฎของไฟล์จะแทนที่กฎไดเรกทอรีเสมอ --><file path="src/Lib/Config/File.php" min="80 "/> </custom-coverage> <!-- เมื่อตั้งค่า 'allow-uncovered-methods' เป็น false ให้แทนที่ลักษณะการทำงานนี้สำหรับไฟล์เฉพาะ: --><ignore-uncovered-methods> <เส้นทางไฟล์ = "src/Command/ExampleCommand.php"/> </ละเว้นวิธีการเปิดเผย> </phpfci>
ตัวเลือก | ที่จำเป็น | ค่าเริ่มต้น | คำอธิบาย |
---|---|---|---|
ความคุ้มครองขั้นต่ำ | ใช่ | - | ความคุ้มครองขั้นต่ำทั่วโลก |
อนุญาตให้เปิดเผยวิธีการ | เลขที่ | เท็จ | ทุกวิธีควรมีความครอบคลุมเป็นอย่างน้อย |
หรือสร้างไฟล์กำหนดค่าตามผลการครอบคลุมที่มีอยู่
php vendor/bin/phpfci baseline --baseDir /home/ci/workspace Coverage.xml ./phpfci.xml
ไดเร็กทอรีฐานจะถูกลบออกจากพาธไฟล์ใน Coverage.xml
รูปแบบเช็คสไตล์:
ผู้ขาย php/bin/phpfci ตรวจสอบ Coverage.xml --reportCheckstyle=reports/checkstyle.xml
รูปแบบ Gitlab:
ผู้ขาย php/bin/phpfci ตรวจสอบ Coverage.xml --reportGitlab=reports/gitlab.errors.json
รูปแบบ Gitlab เป็นไฟล์และเอาต์พุตข้อความเป็น stdout:
ผู้ขาย php/bin/phpfci ตรวจสอบ Coverage.xml --reportGitlab=reports/gitlab.errors.json --reportText
รูปแบบข้อความเป็น stdout:
ผู้ขาย php/bin/phpfci ตรวจสอบ Coverage.xml ผู้ขาย php/bin/phpfci ตรวจสอบ Coverage1.xml Coverage2.xml
ผู้ขาย php/bin/phpfci ตรวจสอบ Coverage.xml --reportText
ตัวเลือก | ค่านิยม | คำอธิบาย |
---|---|---|
argument 1 | inspect , baseline | คำสั่งที่จะดำเนินการ |
argument 2 [ argument 3 ]... | coverage.xml [ coverage2.xml ] | ไฟล์อินพุตความครอบคลุมของ phpunit clover |
--reportGitlab=[<file>] | filepath หรือหากไม่มี stdout | ไฟล์ (หรือ stdout) ที่จะเขียนรูปแบบ gitlab |
--reportCheckstyle=[<file>] | filepath หรือหากไม่มี stdout | ไฟล์ (หรือ stdout) ที่จะเขียนรูปแบบ checkstyle |
--reportText=[<file>] | filepath หรือหากไม่มี stdout | ไฟล์ (หรือ stdout) ที่จะเขียนรูปแบบ checkstyle |
--config=<path-to-file> | phpfci.xml | เส้นทางไปยังไฟล์ปรับแต่ง |
--baseDir=<path> | ค่าเริ่มต้นเป็นไดเร็กทอรีของไฟล์เอาต์พุต | ไดเร็กทอรีรากของโปรเจ็กต์จะถูกใช้เพื่อสร้างเส้นทางที่สัมพันธ์กัน |
--exit-code-on-failure | - | ตั้งรหัสทางออกเป็น 1 เมื่อเกิดข้อผิดพลาด |
หมายเหตุ: หากไม่มีการตั้งค่า --reportGitlab
, --reportCheckstyle
หรือ --reportText
ระบบจะใช้ค่าเริ่มต้นเป็น --reportText=php://stdout
อาร์กิวเมนต์ที่จำเป็นที่สามและ --report
ถูกลบออกแล้ว และควรแทนที่ด้วย: --reportGitlab=<file>
, --reportCheckstyle=<file>
หรือ --reportText=<file>
ที่ 123inkt (ส่วนหนึ่งของ Digital Revolution BV) ทุกวัน ผู้เชี่ยวชาญด้านการพัฒนามากกว่า 50 คนกำลังทำงานเพื่อปรับปรุง ERP ภายในและร้านค้าหลายแห่งของเรา คุณต้องการที่จะเข้าร่วมกับเรา? เรากำลังมองหานักพัฒนา