Come testare l’unità con diverse impostazioni in Django?

Esiste un semplice meccanismo per ignorare le impostazioni di Django per un test unitario? Ho un manager su uno dei miei modelli che restituisce un numero specifico degli ultimi oggetti. Il numero di oggetti che restituisce è definito da un’impostazione NUM_LATEST.

Questo ha il potenziale per far fallire i miei test se qualcuno dovesse cambiare le impostazioni. Come posso sovrascrivere le impostazioni su setUp() e successivamente ripristinarle su tearDown() ? Se ciò non è ansible, esiste un modo in cui posso eseguire il patchging del metodo o simulare le impostazioni?

EDIT: Ecco il mio codice manager:

 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] 

Il gestore utilizza le settings.NEWS_LATEST_MAX per segmentare il set di query. getattr() viene semplicemente utilizzato per fornire un valore predefinito nel caso in cui l’impostazione non esista.