วันนี้ลองใช้งาน Junit 5 ในงานนิดหน่อย
พบว่าหลาย ๆ อย่างจาก JUnit 4 มันหายไป หลายอย่างเพิ่มมา
ทั้งทำให้ยากและง่ายขึ้น
มีสิ่งหนึ่งที่น่าสนใจคือ การทดสอบกับ Exception
เนื่องจากของเดิมจาก JUnit 4 นั้นมีทางเลือกให้เยอะ
ทั้ง try-catch (ไม่ควรทำนะ)
ทั้ง @Rule
ทั้ง expected ใน @Test
ใน JUnit 5 นั้นไม่มี แต่ได้เพิ่ม assertion มาให้เลย
ดังนั้นลองมาใช้งานกันดูหน่อย
[gist id="3ac0f783261716088c9a8f8b288ad170" file="ExceptionTest.java"]
คำอธิบาย
ใน JUnit 5 นั้นจะมี org.junit.jupiter.api.Assertions#assertThrows มาให้เลย
ใช้สำหรับการตรวจสอบ exception
parameter ตัวที่ 1 คือ Exception ที่คาดหวัง
parameter ตัวที่ 2 คือ Executable ใช้เรียก class ที่ต้องการทดสอบ
ชีวิตดูลำบากขึ้นหรือเปล่านะ ?Source code ตัวอย่างอยู่ที่นี่ Github::Up1::Junit 5 with exception