ฉันกำลังเขียนบททดสอบสำหรับระบบบังคับเลี้ยวสำหรับวิดีโอเกม ระบบมีพฤติกรรมหลายอย่าง (หลีกเลี่ยงบริเวณนี้เนื่องจากเหตุผล A, หลีกเลี่ยงบริเวณนี้เนื่องจากเหตุผล B แต่ละคนเพิ่มบริบทเล็กน้อยลงในแผนที่ของภูมิภาคจากนั้นฟังก์ชั่นแยกต่างหากจะแยกวิเคราะห์แผนที่และสร้างการเคลื่อนไหวที่ต้องการ
ฉันมีปัญหาในการตัดสินใจว่าจะเขียนบททดสอบหน่วยสำหรับพฤติกรรมอย่างไร ในฐานะที่เป็น TDD แนะนำฉันสนใจเฉพาะในพฤติกรรมที่มีผลต่อการเคลื่อนไหวที่ต้องการ ตัวอย่างเช่นการหลีกเลี่ยงเพราะเหตุผลเหตุผลควรส่งผลให้การเคลื่อนไหวอยู่ในตำแหน่งที่ไม่ดีแนะนำ ฉันไม่สนใจจริง ๆ ว่าพฤติกรรมจะเพิ่มบริบทลงในแผนที่ได้อย่างไรเพียง แต่การเคลื่อนไหวที่ต้องการอยู่ห่างจากตำแหน่ง
ดังนั้นการทดสอบของฉันสำหรับแต่ละลักษณะการตั้งค่าลักษณะการทำงานทำให้มันเขียนลงในแผนที่จากนั้นดำเนินการฟังก์ชั่นการแยกแผนที่เพื่อคำนวณการเคลื่อนไหวที่ต้องการ หากการเคลื่อนไหวนั้นเป็นไปตามข้อกำหนดของฉันฉันก็มีความสุข
อย่างไรก็ตามตอนนี้การทดสอบของฉันขึ้นอยู่กับทั้งพฤติกรรมที่ทำงานอย่างถูกต้องและฟังก์ชั่นการแยกวิเคราะห์แผนที่ทำงานอย่างถูกต้อง หากฟังก์ชั่นการวิเคราะห์คำล้มเหลวฉันจะได้รับการทดสอบที่ล้มเหลวหลายร้อยครั้งแทนที่จะเป็นสองสามครั้ง คู่มือการเขียนการทดสอบจำนวนมากแนะนำว่านี่เป็นความคิดที่ไม่ดี
อย่างไรก็ตามถ้าฉันทดสอบโดยตรงกับผลลัพธ์ของพฤติกรรมโดยเยาะเย้ยแผนที่แล้วแน่นอนว่าฉันมีเพศสัมพันธ์กับการใช้งานแน่นเกินไป? หากฉันสามารถรับการเคลื่อนไหวที่ต้องการจากแผนที่โดยใช้พฤติกรรมที่แตกต่างกันเล็กน้อยการทดสอบก็ควรผ่าน
ดังนั้นตอนนี้ฉันกำลังทุกข์ทรมานกับความไม่ลงรอยกันทางปัญญา วิธีที่ดีที่สุดในการจัดโครงสร้างการทดสอบเหล่านี้คืออะไร