2017-01-26 13 views
2

Я хотел бы запустить функцию в конце все тестов.Pytest: запустить функцию в конце тестов

Вид глобальной функции разрыва.

Я нашел пример here и некоторые подсказки here, но это не соответствует моей потребности. Он запускает функцию в начале тестов. Я также видел функцию pytest_runtest_teardown(), но она вызывается после каждого теста.

Плюс: если функция могла быть вызвана только в том случае, если все тесты прошли, было бы здорово.

+0

'pytest_unconfigure', похоже, выполняет эту работу, но, возможно, кто-то придумает лучшую идею. – user4780495

+0

Чтобы сделать ваш прибор запущенным в конце функции, вы должны использовать' request.addfinalizer (tear_down_function) '. Чтобы запустить его в конце сеанса дыр, но не каждый тестовый пример - укажите точную область как '@ pytest.fixture (scope =" session ")' – Andersson

ответ

2

я нашел:

def pytest_sessionfinish(session, exitstatus): 
    """ whole test run finishes. """ 

exitstatus может использоваться для определения того, какие действия для запуска.

 Смежные вопросы

  • Нет связанных вопросов^_^