Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

[JUnit 5] มาลองใช้งาน RepeatTest และ DynamicTest

$
0
0

ระหว่างรอรถก็นั่งอ่านเอกสารของ 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 นะครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles