Как я могу найти, какие приборы используются в тесте? - PullRequest
0 голосов
/ 01 ноября 2018

Я хочу автоматически отмечать тесты в зависимости от того, какие приборы они используют. Например, если в тесте используется прибор с именем spark, я бы хотел добавить маркер с именем uses_spark, чтобы я мог автоматически их игнорировать.

Я знаю, что могу использовать pytest_collection_modifyitems в conftest.py для добавления маркеров.

def pytest_collection_modifyitems(items):
  for item in items:
    if uses_spark_fixture(item):
      item.add_marker(pytest.mark.spark)

def uses_spark_fixture(item):
  ???

Как мне реализовать uses_spark_fixture?

1 Ответ

0 голосов
/ 01 ноября 2018

Каждый элемент хранит список используемых приборов в атрибуте fixturenames. таким образом, проверка довольно проста:

def pytest_collection_modifyitems(items):
    for item in items:
        if 'spark_fixture' in item.fixturenames:
            item.add_marker(pytest.mark.spark)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...