Tachycardia เป็นส่วนขยาย PHPUnit ที่ตรวจจับและรายงานการทดสอบที่ทำงานช้าและพิมพ์ออกมาในคอนโซลของคุณ นอกจากนี้ยังสามารถเลือกใส่คำอธิบายประกอบการทดสอบเฉพาะในไฟล์ระหว่างคำขอดึงข้อมูลได้อีกด้วย
หมายเหตุ: หัวใจเต้นเร็วจะตรวจจับเฉพาะการทดสอบที่ช้าในชุดการทดสอบของคุณ แต่จะไม่มีคำอธิบายว่าเหตุใดการทดสอบเหล่านี้จึงช้า คุณควรใช้ตัวสร้างโปรไฟล์เฉพาะสำหรับสิ่งเหล่านี้แทน
$ vendor/bin/phpunitPHPUnit 10.5.5 โดย Sebastian Bergmann และผู้สนับสนุน รันไทม์: PHP 8.3.1 พร้อม Xdebug 3.3.1Configuration: /home/runner/work/tachycardia/tachycardia/phpunit.xml.distRandom Seed: 1698146158.... ................................................ .......... 65 / 96 ( 67%)................................ 96/96 (100%)NexusPHPUnitTachycardiaTachycardiaExtension ระบุการทดสอบที่ช้าเพียงอย่างเดียวนี้: ใช้เวลา 1.3374 วินาทีจากขีดจำกัด 1.0000 วินาทีในการเรียกใช้ NexusPHPUnitTachycardiaTestsRendererGithubRendererTest::testRendererWorksProperlyการทดสอบช้า: เวลา: 00:00:01.710 (2.54%)เวลา: 00:58.737 หน่วยความจำ: 16.00 MBOK (การทดสอบ 96 รายการ การยืนยัน 265 รายการ)การสร้างรายงานการครอบคลุมโค้ดในรูปแบบ Clover XML ... เสร็จสิ้น [00:00.391]การสร้างรายงานการครอบคลุมโค้ดในรูปแบบ HTML ... เสร็จสิ้น [ 00:01.930]
ควรติดตั้งหัวใจเต้นเร็วเป็นเวลาในการพัฒนาเท่านั้น เพื่อช่วยในการใช้งานชุดทดสอบของโปรเจ็กต์ของคุณ คุณสามารถติดตั้งโดยใช้ Composer:
composer require --dev nexusphp/tachycardia
หัวใจเต้นเร็วรองรับพารามิเตอร์เหล่านี้:
การจำกัดเวลา - การจำกัดเวลาเป็นวินาทีที่จะบังคับใช้สำหรับการทดสอบทั้งหมด การทดสอบทั้งหมดที่เกินจำนวนนี้จะถือว่าช้า ค่าเริ่มต้น: 1.00
report-count - จำนวนการทดสอบที่ช้าที่จะแสดงในรายงานคอนโซล สิ่งนี้จะถูกละเว้นในรายงานการดำเนินการ Github ค่าเริ่มต้น: 10
ความแม่นยำ - ระดับความแม่นยำของทศนิยมของเวลาที่ใช้ในการทดสอบและขีดจำกัดเวลาที่กำหนด ค่าเริ่มต้น: 4
format - รูปแบบของตัวเรนเดอร์สำหรับคอนโซล
ci-format - รูปแบบของตัวเรนเดอร์สำหรับ CI
รูปแบบการเรนเดอร์สำหรับทั้งคอนโซลและ CI อาจเป็นรูปแบบใดก็ได้:
รูปแบบ | สำหรับคอนโซล? | สำหรับซีไอไอ? | หมายเหตุ |
---|---|---|---|
รายการ | ค่าเริ่มต้นสำหรับคอนโซล | ||
โต๊ะ | |||
GitHub | ค่าเริ่มต้นสำหรับ CI | ||
คอมไพล์ | |||
ความเป็นทีม |
หากต้องการใช้ส่วนขยายกับตัวเลือกการกำหนดค่าเริ่มต้น คุณสามารถเพิ่มสิ่งต่อไปนี้ลงในไฟล์ phpunit.xml.dist
หรือ phpunit.xml
ของคุณได้
<?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd" bootstrap="vendor/autoload.php" cacheResultFile=" build/.phpunit.cache/test-results" สี = "true" beStrictAboutOutputDuringTests = "true" beStrictAboutTodoAnnotatedTests="true" failedOnRisky="true" failedOnWarning="true"><!-- การกำหนดค่า phpunit อื่นๆ ของคุณที่นี่ --><extensions> <bootstrap class="NexusPHPUnitTachycardiaTachycardiaExtension" /> </ส่วนขยาย> </phpunit>
ตอนนี้รัน vendor/bin/phpunit
หากมีกรณีการทดสอบที่เวลาที่ใช้เกินขีดจำกัดเวลาที่กำหนดไว้ สิ่งเหล่านี้จะแสดงในคอนโซลหลังจากการทดสอบทั้งหมดเสร็จสิ้น
หากคุณต้องการปรับแต่งตัวเลือกที่มีอยู่ตั้งแต่หนึ่งตัวเลือกขึ้นไป คุณสามารถเปลี่ยนรายการในไฟล์ phpunit.xml.dist
หรือ phpunit.xml
ของคุณได้
<?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd" bootstrap="vendor/autoload.php" cacheResultFile=" build/.phpunit.cache/test-results" สี = "true" beStrictAboutOutputDuringTests = "true" beStrictAboutTodoAnnotatedTests="true" failedOnRisky="true" failedOnWarning="true"><!-- การกำหนดค่า phpunit อื่นๆ ของคุณที่นี่ --><extensions> <bootstrap class="NexusPHPUnitTachycardiaTachycardiaExtension"> <ชื่อพารามิเตอร์ =ค่า "จำกัดเวลา" = "2.00" /> <ชื่อพารามิเตอร์ =ค่ารายงานจำนวน = "30" /> <ชื่อพารามิเตอร์ =ค่าความแม่นยำ = "2" /> <ชื่อพารามิเตอร์ = "รูปแบบ" ค่า = "ตาราง" /> <ชื่อพารามิเตอร์ = "ci-format" value = "github" /> </บูตสแตรป> </ส่วนขยาย> </phpunit>
การรายงานการทดสอบที่ช้า
เปิด/ปิดการรายงานคอนโซลโดยใช้ตัวแปรสภาพแวดล้อม
เปิด/ปิดการสร้างโปรไฟล์ใน Github Actions
กำหนดเวลาที่กำหนดเอง
การตั้งค่าขีดจำกัดเวลาที่กำหนดเองต่อการทดสอบ
การตั้งค่าจำกัดเวลาที่กำหนดเองต่อชั้นเรียน
ปิดการใช้งานการจำกัดเวลาต่อการทดสอบหรือต่อชั้นเรียน
โดยใช้คุณสมบัติแทน
จัดตารางผลลัพธ์แทนการเรนเดอร์ธรรมดา
ทำการทดสอบที่ช้าอีกครั้งเพื่อดูว่าตอนนี้เร็วหรือไม่
อัปเกรดจาก v1.x เป็น v2.x หรือไม่ ดูคู่มือการอัพเกรด
ยินดีเป็นอย่างยิ่งที่จะมีส่วนร่วม หากคุณเห็นการปรับปรุงหรือแก้ไขข้อบกพร่อง เปิด PR ทันที!
อ่านเพิ่มเติมเกี่ยวกับการมีส่วนร่วมใน Nexus Tachycardia
หัวใจเต้นเร็วได้รับแรงบันดาลใจจาก johnkary/phpunit-speedtrap
แต่ฉีดด้วยสเตียรอยด์
หัวใจเต้นเร็วเป็นศัพท์ทางการแพทย์ที่หมายถึงอัตราการเต้นของหัวใจที่เกินอัตราการพักปกติโดยทั่วไปมากกว่า 100 ครั้งต่อนาที
ห้องสมุดนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT