npm ERR เพราะว่าลืมลบ __snapshots__

2,490฿คอร์สสอนสร้างเว็บไซต์ HTML/CSS สำหรับมือใหม่ + พร้อม Workshop


วันนี้เจอเคสประหลาด สงสัยว่าทำไม Test ผ่าน แต่ว่ามัน Error npm ERR! CODE ELIFECYCLE ทำให้ CI มัน failed ทีแรกนึกว่า Test case ผิดซัก case แต่ไม่ใช่เลย

NPM ERR

TLTR

ลบโฟลเดอร์ __snapshots__ ที่ไม่ใช้ทิ้งซะ หรืออัพเดท snapshot file ใหม่ด้วย jest --u

ต้นเหตุคือ มี uni test ไฟล์นึง ที่แรกเริ่มเขียน .toMatchSnapshot() เพื่อให้มัน match กับไฟล์ __snapshots__ ทีนี้ พอเริ่ม refactor testing ก็ไม่ใช้ match snapshot แล้ว ใช้การส่ง props มาแทน ก็เลย expect จาก find element แทน แต่ตัว โฟลเดอร์ __snapshots__ มันไม่ถูกลบ ถึงแม้จะรันเทสผ่าน แต่ก็ npm ERR ทำให้ CI มัน failed นั่นเอง

วิธีแก้ง่ายๆ ลบ folder ทิ้งซะ หรือรัน jest --u ให้มันอัพเดท snapshot file ให้เอง สาเหตุก็เป็นเช่นนี้แล

Chai Phonbopit

Chai Phonbopit: Software Engineer แห่งหนึ่ง • ผู้ชายธรรมดาๆ ที่ชื่นชอบ Node.js, JavaScript, React และ Open Source มีงานอดิเรกเป็น Acoustic Guitar และ Football นอกจากเขียนบล็อคที่เว็บนี้แล้ว ก็มีเขียนที่ https://medium.com/@Phonbopit ครับ