Я использую функцию фикстуры, которая принимает аргумент для моих тестов при запуске pytest, в моем conftest.py
def artifacts_output(requests)
request.cls.artifacts_output = request.config.getoption("--artifacts_output")
В моем тестовом файле я могу получить доступ к этому без проблем в моей функции настройки
@pytest.mark.usefixtures("artifacts_output")
class baselineTests(unittest.TestCase):
def setup(self):
global_out = self.artifacts_output
# more code and tests
Хотя сейчас я использую функцию фикстуры на уровне модуля, поэтому я могу инициализировать некоторые общие параметры и операции, которые я запускаю один раз за сеанс
@pytest.mark.usefixtures("artifacts_output")
class baselineTests(unittest.TestCase):
@pytest.fixture(scope="module")
global_init_tests(self):
#init values for all tests and operations to do once per session
def setup(self):
global_out = self.artifacts_output
# more code and tests
Проблема заключается в том, что если я хочу получить доступ к global_out
внутри функции global_init, я не могу этого сделать, потому что фикстура на уровне модуля выполняется перед фикстурой в conftest.py, который извлекает параметр. Есть ли способ из global_init_tests
получить доступ к значению artifacts_output
? Я попытался вызвать artifacts_output, но получаю ошибку object has no attribute artifacts_output