![]()
![]()
ระหว่างรอรถก็นั่งอ่านเอกสารของ
JUnit 5
มีความสามารถใหม่ ๆ เยอะเลย
ที่สำคัญน่าจะได้เวลานำมาใช้อย่างจริงจังได้แล้ว
จึงลองเล่นสัก 2 features ประกอบไปด้วย
- RepeatTest
- DynamicTest ให้ทำงานในรูปแบบ Parameterized
มาเขียน code กันดีกว่า
ความสามารถแรกคือ 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 นะครับ