У меня есть параметризованные тесты, которые получают данные от приборов, как показано в следующем фрагменте.Предполагается, что эти приборы будут работать только при определенных условиях, которые связаны с тем, установлен ли определенный пиест-маркер.
Мой вопрос: Как я могу спросить внутри определения PytestConfig, присутствует ли определенный маркер для пропуска определенных частей внутри PytestConfig, которые, как я знаю, завершатся неудачно, если исключить определенный маркер?
Я бы хотел, чтобы следующий фрагмент работал для pytest -m 'not markertobeskipped'
import os
import pytest
class PytestConfig:
# here I'd like to throw in some conditional logic along the lines of:
# "if pytest is called with 'not markertobeskipped': ...
missing_config = os.getenv('SOME_CONFIGURATION_NOT_PRESENT_IF_MARKERTOBESKIPPED', None)
# here, in reality some longish loading process would happen
assert missing_config
@staticmethod
def get_input_data():
return []
class TestClass:
@pytest.mark.markertobeskipped
@pytest.mark.parametrize('input', PytestConfig.get_input_data())
def test_should_be_skipped_without_error(self, input):
assert input