Чи існує якийсь простий механізм переосмислення параметрів Django для одиничного тесту? У мене є менеджер однієї з моїх моделей, який повертає певну кількість останніх об'єктів. Кількість об'єктів, які вона повертає, визначається NUM_LATEST налаштуванням.
Це може призвести до того, що мої тести не зможуть змінити налаштування. Як я можу змінити налаштування setUp()
і потім відновити їх tearDown()
? Якщо це неможливо, чи є якимось чином я можу мавпочки виправити метод або знущатися над налаштуваннями?
EDIT: Ось мій код менеджера:
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()
Просто використовується , щоб забезпечити значення за замовчуванням якщо параметр не існує.