ก่อนอื่นคุณต้องมีกรอบการทดสอบหน่วย ในอดีตผมเคยใช้UnitTest ++และGoogle ทดสอบ อดีตมีน้ำหนักเบามากและรุ่นหลังมีจุดเด่นมากกว่า แต่ค่อนข้างยุ่งยากกว่า มันทำงานร่วมกันได้ดีกับGoogle Mockหากคุณต้องการสิ่งนั้น มีตัวเลือกอื่น ๆ อีกมากมายแน่นอน: ดูรายการนี้ (โดยผู้เขียนในที่สุดของ UnitTest ++) และWikipediaเป็นต้น
การทดสอบหน่วยเป็นเรื่องเกี่ยวกับการเขียนการทดสอบที่เน้นถึงความเครียดโดยเฉพาะบิตอิสระที่แยกได้ของรหัส ("หน่วย") ภายใต้สถานการณ์ต่างๆ ในขณะที่ในบางกรณีคุณสามารถทดสอบทุกสิ่งได้ แต่โดยทั่วไปแล้วมันไม่สามารถนำไปใช้เพื่อให้ได้ความครอบคลุม 100% และโดยเฉพาะอย่างยิ่งในเกมอาจเป็นเรื่องยาก - พิสูจน์ได้ว่าหน่วยทดสอบเอาท์พุท renderer ของคุณมีความหมาย การทดสอบหน่วย "จริง" โดยไม่คำนึงถึง
สิ่งสำคัญคือต้องจำไว้ว่าการทดสอบแบบอัตโนมัติใด ๆ นั้นดีกว่าการทดสอบแบบอัตโนมัติ ดังนั้นคุณไม่ควรเครียดมากไปกว่าความจริงที่ว่าการทดสอบของคุณไม่ใช่ "การทดสอบหน่วยที่แท้จริง" และภูมิใจที่คุณมีการทดสอบ เฟรมเวิร์กการทดสอบหน่วยมักจะมีประโยชน์สำหรับการสร้างการทดสอบแบบ "ไม่ใช่หน่วย" เนื่องจากมันมีฟังก์ชันการทำงานสำหรับการทดสอบบรรจุภัณฑ์และการรายงานความล้มเหลวอย่างสม่ำเสมอ
ฉันขอแนะนำให้คุณฟื้นการทดสอบเก่าของคุณอีกครั้งและสร้างพวกเขาเป็นโครงการทดสอบโดยใช้หนึ่งในเฟรมเวิร์กที่มีอยู่ - สิ่งที่คุณสามารถเรียกใช้ได้จากเวลาเป็นครั้งคราว (หรือเป็นส่วนหนึ่งของการสร้างหรือการรวมระบบอัตโนมัติ) การทดสอบของคุณ เขียนการทดสอบใหม่สำหรับบิตของรหัสเมื่อเห็นได้ชัดว่าพวกเขาจะเป็นประโยชน์กับคุณตัวอย่างเช่นหากคุณพบข้อบกพร่องเล็กน้อยที่คุณอาจตรวจพบด้วยการทดสอบคุณสามารถเพิ่มหนึ่งรายการเพื่อจับการถดถอยใด ๆ ที่คุณอาจทำในอนาคต
คุณอาจจะพบว่ามันเป็นรหัสยูทิลิตี้ระดับล่างของคุณส่วนใหญ่ที่คล้อยตามการทดสอบหน่วยในเกม ไม่เป็นไร - รหัสฐานรากที่สามารถรบกวนเลเยอร์ที่สูงขึ้นได้ถ้ามันแตก
คุณจะไม่ไปที่โปรแกรมเมอร์ที่ไม่มีการทดสอบสำหรับทุก ๆ ฟังก์ชั่นและลอจิคัลเกทใน codebase ของคุณดังนั้นอย่าใช้เวลามากไปกว่าการเขียนข้อสอบ ถ้าคุณต้องคิดให้หนักขึ้นหรือใช้เวลามากขึ้นในการเขียนการทดสอบสำหรับโมดุลมากกว่าที่คุณได้เขียนโมดูลตั้งแต่แรกคุณอาจเสียเวลา การทดสอบหน่วย - การทดสอบโดยทั่วไป - เป็นเครื่องมือที่คุณเรียนรู้ที่จะใช้อย่างเหมาะสมเพื่อช่วยคุณไม่ใช่งานน่าเบื่อที่คุณต้องทำเพื่อทุกสิ่ง