6
Junit @ Before / @ After เรียกลำดับอะไร
ฉันมีชุดทดสอบการผสานรวม ฉันมีIntegrationTestBaseชั้นเรียนสำหรับการทดสอบทั้งหมดของฉันที่จะขยาย คลาสฐานนี้มีเมธอด@Before( public void setUp()) และ@After( public void tearDown()) เพื่อสร้างการเชื่อมต่อ API และ DB สิ่งที่ฉันได้ทำเป็นเพียงการเอาชนะทั้งสองวิธีการในแต่ละ testcase และเรียกและsuper.setUp() super.tearDown()อย่างไรก็ตามสิ่งนี้อาจทำให้เกิดปัญหาได้หากมีคนลืมโทรหาซุปเปอร์หรือวางไว้ผิดที่และมีข้อยกเว้นเกิดขึ้นและพวกเขาลืมโทรหาซุปเปอร์ในที่สุดหรือบางอย่าง สิ่งที่ฉันต้องการทำคือสร้างsetUpและtearDownวิธีการในคลาสพื้นฐานfinalจากนั้นเพิ่มคำอธิบายประกอบ@Beforeและ@Afterวิธีการของเราเอง ทำการทดสอบเบื้องต้นดูเหมือนว่าจะเรียกตามลำดับนี้เสมอ: Base @Before Test @Before Test Test @After Base @After แต่ฉันกังวลเล็กน้อยว่าจะไม่มีการรับประกันคำสั่งซื้อและอาจทำให้เกิดปัญหาได้ ฉันมองไปรอบ ๆ และไม่เห็นอะไรเกี่ยวกับเรื่องนี้ ไม่มีใครรู้ว่าฉันสามารถทำได้และไม่มีปัญหาใด ๆ ? รหัส: public class IntegrationTestBase { @Before public final void setUp() { *always called 1st?* …