โดยค่าเริ่มต้น JUnit รัน tests ในลำดับที่คาดเดาไม่ได้ มีคราวที่คุณอยากรัน tests ในลำดับเฉพาะ
ตัวอย่างเช่น สถานการณ์ที่คุณทดสอบ user management API สถานการณ์จะเป็นลำดับนี้:
- 1 - ทดสอบสร้าง user
- 2 - ทดสอบอัปเดต user
- 3 - ทดสอบลบ user
เพื่ออัปเดตหรือลบ user เราต้องสร้าง user ก่อน
ใน JUnit 5 เราสามารถใช้ annotations @TestMethodOrder และ @Order เพื่อรัน tests ตามลำดับ
การรัน Tests ตามลำดับ
ตัวอย่าง:
import org.junit.jupiter.api.*; @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class TestOrder { @Test @Order(1) public void testCreateUser() { // code to test user creation } @Test @Order(2) public void testUpdateUser() { // code to test user update } @Test @Order(2) public void testDeleteUser() { // code to test user deletion } }
ด้วย annotations ข้างต้น tests จะรันตามลำดับที่ระบุ