Я пытаюсь собрать некоторые статистические данные о количестве тестовых случаев для каждой функции или группы, и хочу сделать это только во время сбора, а не когда все в моей компании проводят свои тесты. Я ищу способ запуска функции, только если в команде py.test
было использовано --collect-only
.
Цель :
- Выполнить несколько код только если
--collect-only
был использован - Мне нужен доступ к тестовой
items
структуре данных (т.е. мне нужны все использованные маркеры)
В настоящее время я сделать это через pytest_collection_modifyitems
hook:
def pytest_collection_modifyitems(config, items):
# This hook runs after collection
for item in items:
teams = [mark.name for mark in item.iter_markers() if mark.name.startswith('team_')]
features = [mark.name for mark in item.iter_markers() if mark.name.startswith('feature_')]
# do something with these markers
Есть ли способ запустить этот код выше, если и только если py.test был запущен с --collect-only
? Если у кого-то есть предложения по лучшим способам сделать это, пожалуйста, помогите!
Спасибо!