pytest получить переменную тестирования функции времени выполнения - PullRequest
0 голосов
/ 23 января 2020

Я использую плагин повтора и мне нужно извлечь текущий тест во время выполнения (для использования в логгере). Я предполагаю, что получу доступ к: dummy.py::test_dummy[1-4]

@pytest.fixture(scope="session")
def initial_setup():
    print(f'\n\n<<< setup >>>')
    counter_not_working = 0
    yield counter_not_working
    print('\n<<< teardown >>>')

@pytest.mark.repeat(int(os.getenv("repeat", "4")))
def test_dummy(initial_setup):

    # Alt.1
    counter_not_working = initial_setup
    counter_not_working = + 1
    print(f'\nTo be used for a logger..., test no: {counter_not_working}???')

    # Alt.2
    counter_get_from_pytest = 0  # ???
    print(f'To be used for a logger..., test no: {counter_get_from_pytest}???')
    pass

============================ ====== начинается тестовая сессия ============================== платформа linux - Python 3.7. 5, pytest-4.4.1, py-1.8.0, pluggy-0.9.0 - xxx / xxx cachedir: .pytest_cache rootdir: / xxx /, inifile: плагины pytest.ini: повторение 0.8.0 сбор ... собрал 4 элемента

dummy.py :: test_dummy [1-4]

<<< setup >>> PASSED [25%] Для использования в логгере ..., тест № 1 ??? Для использования в регистраторе ..., тест №: 0 ???

dummy.py :: test_dummy [2-4] PASSED [50%] Для использования в регистраторе ..., тест нет: 1 ??? Для использования в регистраторе ..., тест №: 0 ???

dummy.py :: test_dummy [3-4] PASSED [75%] Для использования в регистраторе ..., тест нет: 1 ??? Для использования в регистраторе ..., тест №: 0 ???

dummy.py :: test_dummy [4-4] PASSED [100%] Для использования в регистраторе ..., тест нет: 1 ??? Для использования в качестве логгера ..., тест №: 0 ???

<<< teardown >>>

============== ============= 4 прошло за 0,02 секунды ===========================

Процесс завершен с кодом выхода 0

1 Ответ

0 голосов
/ 23 января 2020

Я нашел себя сам:

def test_dummy (initial_setup, request ): no_of_tests = str ( request.node ) print (type (no_of_tests))

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