ฉันกำลังเริ่มต้นทัศนคติในการพัฒนา TDD และกำลังเขียนการทดสอบหน่วยสำหรับแอปพลิเคชัน django ของฉัน ฉันตระหนักถึงฟิกซ์เจอร์และรู้ว่านั่นคือวิธีดำเนินการทดสอบ แต่สำหรับการทดสอบที่กำหนด ฉันจำเป็นต้องดำเนินการกับฐานข้อมูลทั้งหมด และฟิกซ์เจอร์ json สำหรับฐานข้อมูลมากกว่า 10 ล้านแถวไม่ใช่สิ่งที่ฉันต้องการจัดการ ยิ่งไปกว่านั้น การทดสอบนี้เป็นแบบ "อ่านอย่างเดียว"
คำถามคือคุณจะตั้งค่าชุดการทดสอบให้ทำงานบนฐานข้อมูลที่ใช้งานจริงได้อย่างไร ฉันคิดว่ามันอาจจะง่ายพอ ๆ กับการเพิ่มการตั้งค่า DATABASE_NAME ในวิธีการตั้งค่าของการทดสอบบางอย่าง แต่การตั้งค่า DATABASE_NAME="prod_db" ส่งผลให้เกิด "NameError: ไม่ได้กำหนดชื่อสากล 'การตั้งค่า'" ในขณะที่รันการทดสอบ นอกจากนี้ ยังมีความเสี่ยงที่อธิบายไว้ใน http://code.djangoproject.com/ticket/11987 ที่คุณสามารถลบฐานข้อมูลการผลิตโดยไม่ตั้งใจได้
ดังนั้น เป็นไปได้อย่างไร หรือดีไปกว่านั้น คือแนวทางปฏิบัติที่ดีที่สุดในการรันการทดสอบชุดทดสอบเดี่ยวบนฐานข้อมูลที่ใช้งานจริงแทนที่จะเป็นการทดสอบชั่วคราว
ไชโยล่วงหน้าสำหรับความคิดเห็นใด ๆ !