เขียนกรณีทดสอบด้วย helm test
ทดสอบ Pod ที่ตรวจสอบ Release ที่กำลังทำงาน
เขียนกรณีทดสอบด้วย helm test เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
ทดสอบรีลีสที่กำลังทำงาน
Lint และ template ตรวจสอบไฟล์ แต่ helm test ตรวจสอบรีลีสที่กำลังทำงานอยู่ในคลัสเตอร์ของคุณ คำสั่งนี้ยืนยันว่าแอปพลิเคชันทำงานได้จริง ✅
การทดสอบเป็นเพียงพ็อด
การทดสอบของ Helm คือ พ็อด ที่กำหนดไว้ในไดเรกทอรีแม่แบบของชาร์ต Helm จะเรียกใช้เมื่อมีการสั่งงาน และตัดสินผลสำเร็จจากรหัสการออกจากการทำงาน
คำอธิบายประกอบการทดสอบ
คุณกำหนดให้พ็อดเป็นการทดสอบโดยเพิ่มคำอธิบายประกอบ helm.sh/hook: test จากนั้น Helm จะข้ามพ็อดนี้ระหว่างการติดตั้ง และเรียกใช้เฉพาะเมื่อมีการสั่งงาน
annotations:
"helm.sh/hook": testการทดสอบการเชื่อมต่ออย่างง่าย
การทดสอบที่ใช้กันทั่วไปจะเรียกใช้อิมเมจขนาดเล็กอย่าง busybox ซึ่งใช้ wget เพื่อยืนยันว่าบริการตอบสนองผ่านพอร์ตของบริการ
command: ['wget']
args: ['myapp:80']รหัสการออกจากการทำงานเป็นตัวตัดสิน
หากพ็อดทดสอบจบการทำงานด้วยรหัส 0 การทดสอบจะผ่าน รหัสการออกจากการทำงานอื่นที่ไม่ใช่ศูนย์จะทำให้การทดสอบล้มเหลว เช่นเดียวกับคำสั่งเชลล์
เรียกใช้การทดสอบ
หลังจากติดตั้งแล้ว ให้เรียกใช้ helm test พร้อมชื่อรีลีส Helm จะสร้างพ็อดทดสอบ รอผล และรายงานผลลัพธ์ของแต่ละรายการ
helm test myreleaseดูบันทึกการทำงาน
เพิ่ม --logs เพื่อส่งเอาต์พุตของพ็อดทดสอบแต่ละรายการแบบต่อเนื่อง ทำให้เมื่อเกิดความล้มเหลว คุณจะทราบว่าเกิดอะไรขึ้น ไม่ใช่เพียงทราบว่าการทดสอบล้มเหลว
helm test myrelease --logsทดสอบเมื่อจำเป็น
การทดสอบจะไม่ทำงานโดยอัตโนมัติระหว่างการติดตั้ง คุณเป็นผู้เรียกใช้เอง ทำให้การติดตั้งรวดเร็วและการทดสอบมีความ ชัดเจน
ล้างพ็อดทดสอบ
เพิ่ม hook-delete-policy เพื่อให้พ็อดทดสอบที่ทำงานเสร็จแล้วถูกลบ และไม่ทำให้เนมสเปซรกรุงรังระหว่างการเรียกใช้แต่ละครั้ง
"helm.sh/hook-delete-policy": hook-succeededการทดสอบอยู่ที่ใด
ตามธรรมเนียม พ็อดทดสอบจะอยู่ใน templates/tests/ เพื่อจัดระเบียบและแยกออกจากแฟ้มข้อกำหนดของเวิร์กโหลดจริง
ส่วนหนึ่งของ CI
ในกระบวนการทำงานอัตโนมัติ คุณจะติดตั้งชาร์ตก่อน แล้วเรียกใช้ helm test หากการทดสอบล้มเหลว งานนั้นก็จะล้มเหลวด้วย ช่วยตรวจจับการนำระบบไปใช้งานที่เสียหายก่อนที่ผู้ใช้จะพบ
ตรวจสอบอย่างรวดเร็ว
Helm ตัดสินได้อย่างไรว่าพ็อดทดสอบผ่าน
สรุปทบทวน
คุณได้เรียนรู้ว่า helm test เรียกใช้พ็อดทดสอบที่มีคำอธิบายประกอบกับรีลีสที่กำลังทำงาน ตัดสินผลจากรหัสการออกจากการทำงาน และนำไปใช้ใน CI ได้อย่างเหมาะสม 🎉
คำถามที่พบบ่อย
บทเรียน “เขียนกรณีทดสอบด้วย helm test” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เขียนกรณีทดสอบด้วย helm test” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เขียนกรณีทดสอบด้วย helm test”
ทดสอบ Pod ที่ตรวจสอบ Release ที่กำลังทำงาน คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “เขียนกรณีทดสอบด้วย helm test” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การตรวจสอบแบบคงที่ด้วย helm lint
- ตรวจสอบเอาต์พุตด้วย helm template
- เขียนกรณีทดสอบด้วย helm test
- ตรวจสอบ Schema ด้วย values.schema.json