เมื่อประมาณปลายปี 2015 ทีมพัฒนาได้เปิดตัวโปรเจค JUnit Lambda
โดยในปัจจุบันได้เปลี่ยนชื่อมาเป็น JUnit 5
และได้ทำการเปิด alpha version ในเดือนกุมภาพันธ์นี้เอง
ดังนั้น Java Developer มาทำความรู้จัก และ คุ้นเคยกับมันหน่อย
JUnit เป็น test library สำหรับการเขียน test ด้วยภาษา Java
ส่วน Unit 5 นั้น มีเป้าหมายเพื่อทำให้การเขียน test ง่าย และ สะดวกยิ่งขึ้น โดย feature ใหม่ ๆ จะทำงานได้บน Java 8 ขึ้นไปเท่านั้น แต่ยังสามารถทำงานร่วมกับ version ต่ำกว่านั้นได้นะ (Backward compattability)มาลองใช้งาน JUnit 5 กันดีกว่า
โดยตอนนี้เป็น Alpha version ซึ่ง deploy ไว้ที่ Sonatype snapshots repository โดยแบ่งเป็น library ย่อย ๆ ทำให้ผู้ใช้งานสะดวกมากขึ้น แต่ก็แลกมาด้วยการศึกษา และ เรียนรู้เพิ่มเติมเช่นกัน ดังนี้- junit-commoms
- junit-console
- junit-engine-api
- junit-gradle
- junit-launcher
- junit4-engine
- junit4-runner
- junit5-api
- junit5-engine
- surefire-junit5
จากนั้นเริ่มเขียน test กันเลยดีกว่า
ซึ่งจะเขียนในรูปแบบเดิม แต่สิ่งที่เปลี่ยนไปคือ package ที่ใช้งานจะเป็น org.junit.gen5 ทำให้ไม่เกิดข้อขัดแย้ง หรือ ตีกับ JUnit 4 นั่นแสดงว่า ทีมพัฒนาก็ยังคิดถึงผู้ใช้งานอยู่นะโดย code เป็นดังนี้ [gist id="b8b85155e80c031fa8b4" file="HelloWorldTest.java"] ทำการ run test ด้วย Apache Maven ด้วยคำสั่ง [code]$mvn clean test[/code] แต่จากการเขียนแบบแรกนี้ จะไม่สามารถใช้ใน IDE ได้ !! เนื่องจาก IDE ส่วนใหญ่ยังไม่สนับสนุน ดังนั้น ถ้าต้องการให้สามารถ run ได้ใน IDE แนะนำให้ใช้ RunWith annotation เข้าไปด้วย โดย code เป็นดังนี้ [gist id="b8b85155e80c031fa8b4" file="HelloWorldTestRunWithJUnit5.java"] แต่ก็ยังมี Bug อยู่อีก !! นั่นคือ ใน IDE ไม่สามารถเลือก run test case ที่ต้องการได้ ซึ่งต้องรอให้ IDE ต่าง ๆ สนับสนุน JUnit 5 ก่อน แสดง Error ดังรูป โดยผมใช้ IntelliJ IDE