ใน 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