Есть ли простой механизм для переопределения настроек 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()
Просто используется , чтобы обеспечить значение по умолчанию если параметр не существует.