TestNG - คำอธิบายประกอบพื้นฐาน
วิธีดั้งเดิมในการระบุวิธีทดสอบใน JUnit 3 คือการใส่คำนำหน้าชื่อด้วยการทดสอบ นี่เป็นวิธีการที่มีประสิทธิภาพมากในการแท็กเมธอดบางอย่างในคลาสเนื่องจากมีความหมายพิเศษ แต่การตั้งชื่อไม่ได้ปรับขนาดได้ดีนัก (ถ้าเราต้องการเพิ่มแท็กเพิ่มเติมสำหรับเฟรมเวิร์กที่แตกต่างกันล่ะ) และค่อนข้างยืดหยุ่น (จะเกิดอะไรขึ้นถ้าเรา ต้องการส่งผ่านพารามิเตอร์เพิ่มเติมไปยังกรอบการทดสอบหรือไม่)
คำอธิบายประกอบถูกเพิ่มอย่างเป็นทางการในภาษา Java ใน JDK 5 และ TestNG ได้เลือกใช้คำอธิบายประกอบเพื่อใส่คำอธิบายประกอบคลาสทดสอบ
นี่คือรายการคำอธิบายประกอบที่ TestNG รองรับ -
ซีเนียร์ | คำอธิบายประกอบและคำอธิบาย |
---|---|
1 | @BeforeSuite วิธีการใส่คำอธิบายประกอบจะทำงานเพียงครั้งเดียวก่อนที่การทดสอบทั้งหมดในชุดนี้จะทำงาน |
2 | @AfterSuite วิธีการใส่คำอธิบายประกอบจะทำงานเพียงครั้งเดียวหลังจากการทดสอบทั้งหมดในชุดนี้ทำงานแล้ว |
3 | @BeforeClass วิธีการใส่คำอธิบายประกอบจะถูกเรียกใช้เพียงครั้งเดียวก่อนที่จะเรียกใช้วิธีการทดสอบแรกในคลาสปัจจุบัน |
4 | @AfterClass วิธีการใส่คำอธิบายประกอบจะถูกเรียกใช้เพียงครั้งเดียวหลังจากที่รันวิธีการทดสอบทั้งหมดในคลาสปัจจุบันแล้ว |
5 | @BeforeTest วิธีการใส่คำอธิบายประกอบจะถูกเรียกใช้ก่อนที่วิธีการทดสอบใด ๆ ที่เป็นของคลาสภายในแท็ก <test> จะถูกเรียกใช้ |
6 | @AfterTest วิธีการใส่คำอธิบายประกอบจะถูกเรียกใช้หลังจากวิธีการทดสอบทั้งหมดที่เป็นของคลาสภายในแท็ก <test> ได้ทำงานแล้ว |
7 | @BeforeGroups รายชื่อกลุ่มที่วิธีการกำหนดค่านี้จะทำงานก่อน วิธีนี้รับประกันว่าจะทำงานในไม่ช้าก่อนที่จะมีการเรียกใช้วิธีการทดสอบแรกที่เป็นของกลุ่มใด ๆ เหล่านี้ |
8 | @AfterGroups รายชื่อกลุ่มที่วิธีการกำหนดค่านี้จะทำงานหลังจากนั้น วิธีนี้รับประกันว่าจะทำงานในไม่ช้าหลังจากมีการเรียกใช้วิธีการทดสอบสุดท้ายที่เป็นของกลุ่มใด ๆ เหล่านี้ |
9 | @BeforeMethod วิธีการใส่คำอธิบายประกอบจะถูกเรียกใช้ก่อนวิธีการทดสอบแต่ละวิธี |
10 | @AfterMethod วิธีการใส่คำอธิบายประกอบจะทำงานหลังจากแต่ละวิธีการทดสอบ |
11 | @DataProvider ทำเครื่องหมายวิธีการเป็นการจัดหาข้อมูลสำหรับวิธีการทดสอบ วิธีการใส่คำอธิบายประกอบต้องส่งคืน Object [] [] โดยที่แต่ละ Object [] สามารถกำหนดรายการพารามิเตอร์ของวิธีการทดสอบได้ วิธีการ @Test ที่ต้องการรับข้อมูลจาก DataProvider นี้จำเป็นต้องใช้ชื่อ dataProvider เท่ากับชื่อของคำอธิบายประกอบนี้ |
12 | @Factory
ทำเครื่องหมายวิธีการเป็นโรงงานที่ส่งคืนอ็อบเจ็กต์ที่ TestNG จะใช้เป็นคลาสทดสอบ เมธอดต้องส่งคืน Object [] |
13 | @Listeners กำหนดผู้ฟังในชั้นเรียนทดสอบ |
14 | @Parameters อธิบายวิธีการส่งพารามิเตอร์ไปยังเมธอด @Test |
15 | @Test ทำเครื่องหมายคลาสหรือวิธีการเป็นส่วนหนึ่งของการทดสอบ |
ประโยชน์ของการใช้คำอธิบายประกอบ
ต่อไปนี้เป็นประโยชน์บางประการของการใช้คำอธิบายประกอบ -
TestNG ระบุวิธีการที่สนใจโดยค้นหาคำอธิบายประกอบ ดังนั้นชื่อวิธีการจึงไม่ จำกัด เฉพาะรูปแบบหรือรูปแบบใด ๆ
เราสามารถส่งผ่านพารามิเตอร์เพิ่มเติมไปยังคำอธิบายประกอบ
มีการพิมพ์คำอธิบายประกอบอย่างมากดังนั้นคอมไพเลอร์จะตั้งค่าสถานะข้อผิดพลาดทันที
คลาสทดสอบไม่จำเป็นต้องขยายอะไรอีกต่อไป (เช่น TestCase สำหรับ JUnit 3)