Когда я перемещаю импорт модуля реализации в метод в тестовом модуле, тест работает нормально. Однако, когда импорт выполняется сверху, я получаю сообщение об ошибке, указывающее, что переменная среды не найдена.
почему переменная окружения не установлена, когда я помещаю импорт поверх файла, и как я могу это исправить, не перемещая импорт внутри функции
Сообщение об ошибке
test/test_engine.py:4: in <module>
from reptar_validation_engine import get_client_id
source/engine.py:30: in <module>
ATHENA_DB = os.environ['env']
venv/lib/python3.6/os.py:669: in __getitem__
raise KeyError(key) from None
E KeyError: 'env'
conftest.py
import pytest
@pytest.fixture(autouse=True)
def env_setup(monkeypatch):
monkeypatch.setenv('env', 'dev')
Тестовый модуль - этот сбой
import sys
import os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../', 'source')))
from engine import get_client_id
def test_get_client_id():
get_client_id()
Тестовый модуль - это работает
import sys
import os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../', 'source')))
def test_get_client_id():
from engine import get_client_id
get_client_id()
engine.py
import os
env_val = os.environ['env']
def get_client_id:
pass