จาก course เกี่ยวกับ TDD with Java
มีคำถามเกี่ยวกับการปรับปรุงการทดสอบด้วย JUnit 5 ให้ดีและเร็วขึ้น
โดยความสามารถของ JUnit 5 ก็มีไว้ให้ประกอบไปด้วย

  • Tagging สำหรับแบ่งกลุ่มของ test case
  • Parellel execution สำหรับทำการ run test case แบบขนาน เนื่องจากกติแล้วจะทำการแบบ sequential

มาดูตัวอย่างการใช้งานกัน

ก่อนอื่นถ้า test case มีจำนวนมาก ๆ แล้ว

จำเป็นต้องจัดกลุ่มของ test case ด้วย Tag ก่อน
ช่วยทำให้เราเลือกได้ว่าจะ run กลุ่ม หรือ tag ไหนก่อน
หรืออาจจะทดสอบแบบ parallel
หรือไปทดสอบแบบ distributed ได้ง่ายอีกด้วย
ตัวอย่างของการใช้งาน tag
ทั้งในระดับ class และ method

ทำการ run ดังนี้

จากนั้นมาลองใช้งาน Parellel execution ใน JUnit 5

ซึ่งยังเป็น experiment feature เท่านั้นนะ
ปกติจะทำงานแบบ sequential
โดยที่เราสามารถเปิด feature นี้
ด้วยการ config ในไฟล์ src/test/resources/junit-platform.properties
กำหนดให้ run แบบ parallel ทั้งหมด หรือ แยกเป็นระดับ class ก็ได้ดังนี้

เพียงเท่านี้ก็สามารถปรับปรุงความเร็วของการทดสอบได้แล้ว
ยิ่งทำร่วมกับ distributed testing
ด้วยการแยกกลุ่มทดสอบไปทดสอบหลาย ๆ เครื่อง
ก็ยิ่งช่วยให้การทดสอบเร็วขึ้นไปอีก
แต่ก่อนอื่น เขียนก่อน และเขียนให้ดี