แนวทางปฏิบัติที่ดีที่สุดของการพัฒนาแบบทดสอบโดยใช้ C # และ RhinoMocks [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา เพื่อช่วยทีมของฉันเขียนโค้ดที่สามารถทดสอบได้ฉันจึงได้จัดทำรายการแนวทางปฏิบัติที่ดีที่สุดง่ายๆนี้เพื่อทำให้ฐานรหัส C # ของเราสามารถทดสอบได้มากขึ้น (บางประเด็นอ้างถึงข้อ จำกัด ของ Rhino Mocks ซึ่งเป็นกรอบการเยาะเย้ยสำหรับ C # แต่กฎอาจมีผลบังคับใช้มากขึ้นเช่นกัน) ใครมีแนวทางปฏิบัติที่ดีที่สุดที่พวกเขาปฏิบัติตามหรือไม่? ในการเพิ่มความสามารถในการทดสอบโค้ดให้ปฏิบัติตามกฎเหล่านี้: เขียนแบบทดสอบก่อนแล้วจึงเขียนโค้ด เหตุผล: เพื่อให้แน่ใจว่าคุณเขียนโค้ดที่ทดสอบได้และโค้ดทุกบรรทัดจะได้รับการทดสอบที่เขียนขึ้น ออกแบบคลาสโดยใช้การฉีดแบบพึ่งพา เหตุผล: คุณไม่สามารถล้อเลียนหรือทดสอบสิ่งที่มองไม่เห็นได้ แยกโค้ด UI ออกจากพฤติกรรมโดยใช้ Model-View-Controller หรือ Model-View-Presenter เหตุผล: อนุญาตให้ทดสอบตรรกะทางธุรกิจในขณะที่ย่อส่วนที่ไม่สามารถทดสอบได้ (UI) อย่าเขียนวิธีการหรือคลาสแบบคงที่ เหตุผล: วิธีการคงที่เป็นเรื่องยากหรือเป็นไปไม่ได้ที่จะแยกออกและ Rhino Mocks ไม่สามารถล้อเลียนได้ โปรแกรมปิดอินเทอร์เฟซไม่ใช่คลาส เหตุผล: การใช้อินเทอร์เฟซจะชี้แจงความสัมพันธ์ระหว่างวัตถุ อินเทอร์เฟซควรกำหนดเซอร์วิสที่อ็อบเจ็กต์ต้องการจากสภาพแวดล้อม นอกจากนี้อินเทอร์เฟซสามารถล้อเลียนได้อย่างง่ายดายโดยใช้ Rhino …