Bir birim testi için Django ayarlarını geçersiz kılmak için herhangi bir basit mekanizma var mı? Modellerimden birinde belirli sayıda en son nesneyi döndüren bir yöneticim var. Döndürdüğü nesnelerin sayısı NUM_LATEST ayarı ile tanımlanır.
Birisinin ayarı değiştirmesi durumunda bu, testlerimin başarısız olmasına neden olabilir. Ayarları üzerindeki ayarları nasıl geçersiz kılabilir setUp()ve daha sonra nasıl geri yükleyebilirim tearDown()? Bu mümkün değilse, yöntemi yamalamanın veya ayarlarla dalga geçmenin bir yolu var mı?
DÜZENLEME: İşte yönetici kodum:
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]
Yönetici settings.NEWS_LATEST_MAX, sorgu kümesini dilimlemek için kullanır . getattr()Basitçe ayarı var olmamalıdır bir varsayılan sağlamak için kullanılır.
