Укажите значение аргумента по умолчанию для функции фиксации py.test.Python

Программы на Python
Anonymous
Укажите значение аргумента по умолчанию для функции фиксации py.test.

Сообщение Anonymous »

Есть ли лучший способ указать значение по умолчанию для функции аргумента pytest.fixture?

У меня есть несколько тестовых примеров, которые требуют запуска fixment_func перед тестовым набором, и я хотел бы использовать значение по умолчанию для аргумента в приспособлении, если ни один из них не указан. . Единственный код, который я могу придумать, выглядит следующим образом. Есть ли лучший способ сделать это?

@pytest.fixture(scope="function")
def fixture_func(self, request):
argA = request.param['argA'] if request.param.get('argA', None) else 'default value for argA'
argB = request.param['argB'] if request.param.get('argB', None) else 'default value for argB'
# do something with fixture

@pytest.mark.parametrize('fixture_func', [dict(argA='argA')], indirect=['fixture_func'])
def test_case_1(self, fixture_func):
#do something under testcase
pass

@pytest.mark.parametrize('fixture_func', [dict()], indirect=['fixture_func'])
def test_case_2(self, fixture_func):
#do something under testcase
pass


я хочу использовать как

def test_case_3(self, fixture_func):
#do something under testcase
pass


Подробнее здесь: https://stackoverflow.com/questions/477 ... e-function

Вернуться в «Python»