Supertest · สร้าง E2E Test Harness
ตั้งค่า Jest สำหรับ E2E
แยก configuration และ command สำหรับ E2E suite ออกจาก test ประเภทอื่น
แยก config ของ E2E suite
E2E test มักต้องมี timeout, environment และ setup ต่างจาก unit test การแยก config ทำให้คำสั่งธรรมดาไม่เผลอเปิด database หรือสร้าง Nest app หลายครั้งเกินจำเป็น
รายละเอียด transform อาจต่างกันตาม project แต่ intent คือค้นหาเฉพาะ E2E file และใช้ Node environment
ผูก config กับ script ที่อ่านง่าย
`--runInBand` เป็นตัวเลือกที่ช่วยลดปัญหา shared database state ในตัวอย่างเริ่มต้น
ชื่อ `test:e2e` บอก intent ของ command ส่วนรายละเอียด config อยู่ในไฟล์แยก เมื่อ CI หรือ developer ต้องแก้ pattern ของ E2E จะไม่กระทบ unit test โดยไม่ตั้งใจ
อย่าเพิ่ม flag เพื่อแก้ทุก failure
timeout หรือ runInBand ควรตอบปัญหาที่พิสูจน์ได้ ไม่ควรใช้เพื่อกลบ test ที่รั่ว state หรือปิด resource ไม่ครบ