Как получить количество собранных тестов? - PullRequest
1 голос
/ 09 июля 2019

Я пытаюсь подсчитать общее количество тестов, собранных pytest при его вызове. Я хочу использовать этот номер где-то в моем conftest.py.

Я ознакомился с ответами, приведенными здесь Как получить общее количество пройденных, неудачных и пропущенных тестов из pytest но он использует _pytest.terminal.TerminalReporter, который может измениться позже.

Можно ли как-нибудь подсчитать количество тестов, собранных pytest, используя какое-то приспособление request и т. Д.?

Ответы [ 2 ]

1 голос
/ 09 июля 2019

Если вам просто нужно количество собранных тестов, использование терминала-репортера действительно является излишним. Использовать request.session.items список:

def test_amount(request):
    amount = len(request.session.items)
    assert amount > 0
0 голосов
/ 09 июля 2019

Это грубо, но вы можете попытаться проанализировать вывод pytest --collect-only, который возвращает по стандартному выводу модуль / функцию, собранную для тестирования (но не запускает тесты). Вы можете проанализировать этот вывод для подсчета собранных тестовых модулей / функций / и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...