ระหว่างรอรถก็นั่งอ่านเอกสารของ JUnit 5
มีความสามารถใหม่ ๆ เยอะเลย
ที่สำคัญน่าจะได้เวลานำมาใช้อย่างจริงจังได้แล้ว
จึงลองเล่นสัก 2 features ประกอบไปด้วย
- RepeatTest
- DynamicTest ให้ทำงานในรูปแบบ Parameterized
ความสามารถแรกคือ Repeat Test
สามารถทำการทดสอบแต่ละ test case ตามจำนวนที่เรากำหนดหรือต้องการได้ ซึ่งน่าจะเหมาะสมกับการทดสอบการทำงานของ method เป้าหมาย ว่ามีการทำงานที่เสถียรหรือไม่ ? บางครั้งอาจจะเอามาลองดูประสิทธิภาพการทำงานก็ได้ ใช้งานผ่าน @RepeatTest โดยกำหนดทดสอบจำนวน 5 รอบ [gist id="e664c1411ed39b7c6d1fd55d224a411c" file="DemoRepeatTest.java"]ความสามารถที่สองคือ Dynamic Test
โดยปกตินั้นใน JUnit 4 เราสามารถลดจำนวน test case ด้วยการแยก data test และ business flow ออกจากกัน ทำให้ลดจำนวน test case ลงไป ซึ่งเราจะนำ Parameterized มาใช้งาน เหมือนว่าจะง่าย ก็ไม่ง่าย เพราะว่ามีขั้นตอนการใช้งานซับซ้อนน่าดู แต่ใน Unit 5 นั้นมี Dynamic Test ให้ใช้งาน ทำให้ code ของชุดการทดสอบสั้นและง่ายขึ้น ด้วยการใช้งานผ่าน @TestFactory [gist id="e664c1411ed39b7c6d1fd55d224a411c" file="DemoDynamicTest.java"]จากการใช้งาน JUnit 5 มาสักพักใหญ่ ๆ คิดว่าน่าจะได้เวลาใช้งานจริง ๆ จัง ๆ ได้แล้ว ไหน ๆ ก็เขียน Java 8+ และ Lambda กันแล้วขอให้สนุกกับการเขียน code นะครับ