การยืนยันหลายครั้งในการทดสอบเดียวกันเป็นเรื่องปกติ แต่เมื่อการยืนยันล้มเหลว การทดสอบทั้งหมดจะถูกยกเลิก และการยืนยันอื่นๆ ในการทดสอบเดียวกันจะไม่ถูกทดสอบ
ขึ้นอยู่กับสิ่งที่คุณทดสอบและวิธีที่คุณเขียนโค้ด คุณอาจต้องการแยกการทดสอบบางส่วนออกเป็นการทดสอบย่อยหลายๆ รายการ
OverAssertive เป็นส่วนขยาย PHPUnit ที่รายงานโดยตรงในคอนโซลซึ่งการทดสอบมีการยืนยัน "มากเกินไป" โดยที่ "มากเกินไป" คือสิ่งที่คุณกำหนด เพื่อช่วยคุณตรวจสอบและอาจปรับโครงสร้างการทดสอบบางอย่างใหม่
เปิดใช้งานด้วยค่าเริ่มต้นทั้งหมดโดยเพิ่มสิ่งต่อไปนี้ลงในไฟล์ phpunit.xml
ของชุดทดสอบของคุณ:
<phpunit bootstrap="ผู้ขาย/autoload.php"> - <ผู้ฟัง> <คลาสผู้ฟัง = "OzhPHPUnitListenerOverAssertiveTestsListener" /> </ผู้ฟัง> </phpunit>
หากคุณไม่ได้ใช้ตัวโหลดอัตโนมัติ คุณสามารถระบุตำแหน่งของห้องสมุดได้:
<phpunit bootstrap="boostrap.php"> - <ผู้ฟัง> <คลาสผู้ฟัง = "OzhPHPUnitListenerOverAssertiveTestsListener" ไฟล์ = "/path/to/OverAssertiveTestsListener.php" /> </ผู้ฟัง> </phpunit>
ตอนนี้ให้รันชุดทดสอบของคุณตามปกติ OverAssertive จะรายงานการทดสอบที่กล้าแสดงออกในคอนโซลหลังจากชุดโปรแกรมเสร็จสมบูรณ์
OverAssertive มีพารามิเตอร์ที่กำหนดค่าได้สองแบบ:
alertThreshold - จำนวนการยืนยันที่จะทำการทดสอบมากกว่าการยืนยันอย่างเหมาะสม (ค่าเริ่มต้น: การยืนยัน 10 รายการ)
reportLength - จำนวนการทดสอบที่กล้าแสดงออกมากเกินไปที่รวมอยู่ในรายงาน (ค่าเริ่มต้น: การทดสอบ 10 รายการ)
พารามิเตอร์การกำหนดค่าเหล่านี้ถูกตั้งค่าใน phpunit.xml
เมื่อเพิ่ม Listener:
<phpunit ...><!-- ... การกำหนดค่าชุดอื่น ๆ ที่นี่ ... --><listeners> <คลาสผู้ฟัง = "OzhPHPUnitListenerOverAssertiveTestsListener"> <ข้อโต้แย้ง> <อาร์เรย์> <องค์ประกอบคีย์ = "alertThreshold"> <จำนวนเต็ม>10</จำนวนเต็ม> </องค์ประกอบ> <องค์ประกอบคีย์="reportLength"> <จำนวนเต็ม>10</จำนวนเต็ม> </องค์ประกอบ> </อาร์เรย์> </ข้อโต้แย้ง> </ผู้ฟัง> </ผู้ฟัง> </phpunit>
ขอบคุณมากสำหรับ phpunit-speedtrap
ทำทุกอย่างที่คุณต้องการ