วิธีจัดโครงสร้างหน่วยทดสอบสำหรับแอป GUI โดยใช้ C # และ NUnit
ฉันถูกขอให้ทำโครงการขนาดเล็กเพื่อจัดหาแอพพลิเคชั่นที่เรียบง่ายให้กับลูกค้าของเรา โดยปกติแล้วฉันจะทำงานกับรหัสแบ็คเอนด์ที่ฉันต้องทำการทดสอบทั้งหมดและฉันยังไม่ได้มีความสุขที่น่าสงสัยในการเขียนการทดสอบสำหรับ GUI ดังนั้นจึงไม่ค่อยชัดเจนสำหรับฉันที่จะตั้งค่า รหัสการทดสอบและเครื่องมือสำหรับ EXE สัญชาตญาณแรกของฉันคือการรวมการทดสอบด้วยรหัสแอปพลิเคชัน แต่ต้องมีการจัดหาการอ้างอิงเฉพาะสำหรับการทดสอบจำนวนมากซึ่งฉันได้รับคำสั่งให้ไม่ส่งมอบให้กับลูกค้าโดยเฉพาะ ฉันยังไม่สามารถบีบเงินสดเพื่อใช้เป็นเครื่องมือทดสอบที่สร้างขึ้นมาได้ดังนั้นฉันต้องใช้เครื่องมือที่มีอยู่ในมือ ( StoryQ , RhinoMocksและNUnit) ซึ่งควรเกินพอที่จะทดสอบพฤติกรรมของแอพ GUI อย่างง่าย ดังนั้นเท่าที่ฉันเห็นนี่ทำให้ฉันพยายามสร้างสมดุลที่ดีระหว่างการออกแบบให้เรียบง่ายหรือใช้วิศวกรรมมากเกินไปเพื่อการทดสอบ ดูเหมือนว่าฉันกำลังสร้างแอปด้วยตรรกะทางธุรกิจในห้องสมุดแยกต่างหากและทดสอบกับห้องสมุดอย่างที่ฉันมักจะทำหรือค้นหากลไกอื่น ๆ เพื่อให้ฉันสามารถดำเนินการได้โดยไม่แยกโมดูลเพิ่มเติมที่การออกแบบแอปพลิเคชันไม่ ต้องการจริงๆ แก้ไข: โปรดทราบว่าคำถามนี้เกี่ยวกับวิธีการจัดโครงสร้างความสัมพันธ์ระหว่าง NUnit และปฏิบัติการของฉัน - ซึ่งต่างกับ DLL - และไม่เกี่ยวกับวิธีแยกงานนำเสนอและตรรกะทางธุรกิจ / แก้ไข ดังนั้นคำถามของฉันคือ: มีวิธีเฉพาะ / แนะนำสำหรับการกำหนดค่าแอปพลิเคชัน GUI อย่างง่ายพร้อมการทดสอบหน่วยเพื่อให้ฉันตรวจสอบสถานะและพฤติกรรมอย่างเพียงพอโดยใช้เครื่องมือที่ฉันมีอยู่ในมือและไม่ต้องใช้วิธีการทางวิศวกรรมมากเกินไป? ฉันพลาดพื้นฐานบางอย่างเกี่ยวกับวิธีที่ NUnit ควรเรียกใช้ / กำหนดค่าเมื่อทำการทดสอบ EXE (ตรงข้ามกับ DLL) คุณสามารถให้หรือชี้ให้ฉันในทิศทางของตัวอย่างของการบรรลุทั้งหมดนี้ได้อย่างไร ฉันรู้ว่าอาจมีหลายวิธีในการทำเช่นนี้ฉันจึงมองหาแนวทางการใช้งานเฉพาะตามประสบการณ์ของคุณ