ส่วนใหญ่ของการทดสอบนี้มีไว้สำหรับการนำไปใช้ในการรวบรวม Guava พวกเขาเขียนการทดสอบทั่วไปที่ทดสอบอินเทอร์เฟซการรวบรวมอย่างละเอียดและจะสร้างชุดต่อการใช้งาน ดูตัวอย่างเช่นชั้นเรียนที่เรียกว่า,CollectionAddAllTester
ListIndexOfTester
ทั้งหมดนี้ได้รับการสนับสนุนโดยห้องสมุดที่เรียกว่า testlib ซึ่งจัดส่งเป็นส่วนหนึ่งของ Guava นี่เป็นเรื่องทั่วไป สนับสนุนการเขียนการทดสอบทั่วไปสำหรับอินเทอร์เฟซใด ๆ (ไม่ใช่แค่คอลเล็กชัน) คุณสามารถระบุFeature
การใช้งานที่เป็นไปได้และทดสอบสิ่งเหล่านั้น (เช่นถ้าชุดของคุณไม่สามารถแก้ไขได้คุณคาดหวังผลลัพธ์ที่แตกต่างจากset.add()
) และเมื่อคุณรันการทดสอบคุณจะระบุว่าคุณลักษณะใดที่การสนับสนุนของคุณใช้
มันขึ้นอยู่กับ JUnit 3 ไม่ใช่ 4 โดยปกติคุณจะมีคลาสที่ขยายTestCase
เต็มไปด้วยเมธอดที่มีชื่อtestSomething()
และ JUnit เรียกใช้พวกเขาอย่างไตร่ตรอง ไลบรารี testlib เชื่อมโยงกับการดำเนินการทดสอบเหล่านี้เพื่อให้วงจรชีวิตมีลักษณะดังนี้:
- สำหรับการติดตั้งแต่ละครั้งคุณต้องการทดสอบ
- สำหรับแต่ละวิธีการทดสอบ
- สร้าง
TestCase
อินสแตนซ์
- เริ่มต้น
TestSubjectGenerator
- นี่คืออินเทอร์เฟซ testlib ที่คุณขยายที่คุณสร้างเรื่องการทดสอบจริง
- เรียกใช้วิธีการทดสอบอย่างไตร่ตรอง ในระหว่างวิธีการนี้
getSubjectGenerator()
ให้การเข้าถึงเรื่องการทดสอบ
บิตสำคัญเป็นขั้นตอนการเริ่มต้นพิเศษที่ช่วยให้พวกเขาฉีดเรื่องการทดสอบที่เฉพาะเจาะจงลงในกรณีทดสอบทั่วไป
ฉันเขียนโพสต์เกี่ยวกับวิธีเขียน testlib ที่สร้างชุดโปรแกรมสำหรับส่วนต่อประสานของคุณเอง
(โพสต์คำถามเดียวกันบนไซต์sqaด้วย)