В моем коде я хочу прочитать несколько аргументов командной строки. Если я следую подходу parser.addoption () & fixture в conftest.py и хочу получить их в тестовом скрипте с помощью вызова фикстуры, код будет огромным, как показано в фрагменте ниже. Есть ли какой-либо другой оптимизированный способ сделать это в pytest?
# Conftest.py
def pytest_addoption(parser):
parser.addoption("--a", action="store", help='read')
parser.addoption('--b', action="store", help='read')
@pytest.fixture(scope='session')
def a(request):
return request.config.getoption("--a")
@pytest.fixture(scope='session')
def b(request):
return request.config.getoption("--b")
Примечание. Приведенные выше записи будут удваиваться, если я хочу добавить опцию 'c' & 'd'
Тестовый скрипт:
# test_exec.py
import pytest
def test_check(a):
print ("Trying to read back the command line arguments")
print (a)
def test_check2(b):
print ("Trying to read back the command line arguments")
print (b)
Как уже упоминалось выше, если я хочу прочитать значения для c & d, число строк кода увеличивается. Я ищу любой другой эффективный способ в Pytest для обработки большего количества аргументов командной строки.
Спасибо.