Às vezes, você deseja usar configurações diferentes em seus casos de teste de unidade. Às vezes vejo pessoas fazendo errado, mas há uma maneira fácil de fazer isso usando o override_settings
decorator.
from django.conf import settings
from django.test import TestCase
from django.test.utils import override_settings
class MyTest(TestCase):
@override_settings(INTERNAL_IPS=())
def test_public_access(self):
self.assertEqual(settings.INTERNAL_IPS, ())
@override_settings(INTERNAL_IPS=('127.0.0.1',))
def test_internal_access(self):
self.assertEqual(settings.INTERNAL_IPS, ('127.0.0.1',))
@override_settings(SOME_NEW_SETTINGS="YES")
def test_custom_settings(self):
self.assertEqual(
getattr(settings, "SOME_NEW_SETTINGS", "NO"),
"YES"
)