Я хочу иметь возможность устанавливать переменные среды в моем приложении Django для тестирования, чтобы они могли работать. Например, мои взгляды зависят от нескольких ключей API.переменные среды настройки django в тестах unittest
Есть способы для override settings during testing, но я не хочу, чтобы они были определены в settings.py
, так как это проблема безопасности.
Я попытался в своей функции установки установить эти переменные среды, но это не работает, чтобы дать приложению Django значения.
class MyTests(TestCase):
def setUp(self):
os.environ['TEST'] = '123' # doesn't propogate to app
Когда я проверить на месте, я просто есть .env
файл я бегу с
foreman start -e .env web
который поставляет os.environ
со значениями. Но в Django unittest.TestCase
у него нет способа (который я знаю) установить это.
Как я могу обойти это?
Вы пробовали использовать [EnvironmentVarGuard] (https://docs.python.org/2/library/test.html#test.test_support.EnvironmentVarGuard)? – schillingt
Да, это был правильный ответ! – lollercoaster