13
จะทดสอบหน่วยด้วยการตั้งค่าต่างๆใน Django ได้อย่างไร?
มีกลไกง่ายๆในการลบล้างการตั้งค่า Django สำหรับการทดสอบหน่วยหรือไม่? ฉันมีผู้จัดการในโมเดลของฉันที่ส่งคืนอ็อบเจ็กต์ล่าสุดจำนวนหนึ่ง จำนวนออบเจ็กต์ที่ส่งคืนถูกกำหนดโดยการตั้งค่า NUM_LATEST สิ่งนี้อาจทำให้การทดสอบของฉันล้มเหลวหากมีคนเปลี่ยนการตั้งค่า ฉันจะลบล้างการตั้งค่าsetUp()และเรียกคืนในภายหลังได้tearDown()อย่างไร หากเป็นไปไม่ได้มีวิธีใดบ้างที่ฉันสามารถแก้ไขวิธีการหรือล้อเลียนการตั้งค่าได้ แก้ไข:นี่คือรหัสผู้จัดการของฉัน: class LatestManager(models.Manager): """ Returns a specific number of the most recent public Articles as defined by the NEWS_LATEST_MAX setting. """ def get_query_set(self): num_latest = getattr(settings, 'NEWS_NUM_LATEST', 10) return super(LatestManager, self).get_query_set().filter(is_public=True)[:num_latest] ผู้จัดการใช้settings.NEWS_LATEST_MAXเพื่อแบ่งชุดแบบสอบถาม getattr()จะถูกใช้เพียงเพื่อให้เริ่มต้นควรตั้งค่าได้อยู่