Можно ли определить объем сеанса pytest во время выполнения, чтобы я мог выборочно использовать пользовательские аргументы, передаваемые в командной строке pytest? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть флаги OPT, которые я хочу разрешить, только если сеанс pytest не покрывает все мои тесты на уровне базового пакета тестирования.

Я использую прибор для установки флагов OPT командной строки:

def pytest_addoption(parser):
    parser.addoption("--env", action="store", default="not_production")

Они организованы следующим образом:

/ тесты

|__init__.py

|__tests_dir_A

    |__init__.py

    |__testAA.py

    |__testAB.py

    |__testAC.py

    |__testAD.py

|__tests_dir_B

    |__init__.py

    |__testBA.py

    |__testBB.py

    |__testBC.py

    |__testBD.py

|__tests_dir_C

    |__init__.py

    |__testCA.py

    |__testCB.py

    |__testCC.py

    |__testCD.py

|__tests_dir_D

    |__init__.py

    |__testDA.py

    |__testDB.py

    |__testDC.py

    |__testDD.py

В зависимости от варианта использования я бы хотел, чтобы тестовый исполнитель мог использовать дополнительные пользовательские настройки. OPT флаг. Например, если у меня 16 классов тестов и я запускаю pytest из каталога базовых тестов, я не хочу, чтобы флаг OPT был действительным. Однако, если я запускаю pytest на уровне пакета (tests_dir_A) или на уровне модуля / класса (то есть testAA.py), я хотел бы иметь возможность указать дополнительный файл конфигурации через флаг OPT. Как бы я это настроил? Это обычный вариант использования?

...