ใน Node.js 18 ที่ปล่อยออกมานั้น
มีการเพิ่ม Test runner module ออกมาด้วย (ยังเป็น experiment เท่านั้น)
ทำให้เราสามารถเขียนและ run test โดยไม่ต้องใช้ extenal library อื่น ๆ อีกต่อไป
ซึ่งสนับสนุนทั้งการทำงานแบบ synchronous และ asynchronous
ดังนั้นมาลองใช้งานกันนิดหน่อย

เริ่มต้นจากการเขียน test case ต่าง ๆ

ซึ่งทดสอบได้ทั้ง sync และ async function
โดยทำการ import node:test และ assert module มาใช้งาน

รูปแบบจะคล้ายกับ jest เลย
รวมทั้งเขียน subtest ได้
ถือว่าเป็นการเริ่มต้นที่ดีมาก ๆ

จากนั้นทำการ run test ด้วย node

โดยผลที่ออกมายังไม่สวย แต่ก็ run และได้ผลการทดสอบออกมา
ดังนี้

โดยที่ option ในการ run test จะประกอบไปด้วย

  • concurrency สำหรับการ run test พร้อม ๆ กัน ค่า default = 1
  • only ทำการ run เฉพาะ test นั้น ๆ
  • skip ทำการข้าม test ที่เขียนให้ skip และแสดงเหตุผลของการ skip
  • todo แสดงเหตุผลของ test ที่เขียน TODO

ลองใช้กันดูครับ

วันนี้เขียน test แล้วหรือยัง ?

Reference Websites