Можно ли сгенерировать HTML-отчет Pytest по таймауту?
Я использую pytest
и хочу изящно объединить два плагина, pytest-html
а также pytest-timeout
, Я работаю в Windows, поэтому мне нужно использовать потоковый метод тайм-аута из pytest-timeout
, что вызывает остановку всего тестирования. Я хочу HTML от pytest-html
в этом случае, но не был уверен в правдоподобности этого из-за проблем иерархии с прерыванием.
ОБНОВЛЕНИЕ, прогресс на данный момент: я добавил функцию conftest.py
который вручную генерирует html перед каждым тестом, с данными сеанса, существующими в этой точке. Это обходной метод генерации html до истечения времени ожидания, а не только в конце тестирования, просто потому, что html постоянно регенерируется на протяжении всего процесса.
@pytest.fixture(scope='function', autouse=True)
def test_blackbox(request):
session = request.node
html = request.config._html
report_content = html._generate_report(session)
html._save_report(report_content)
Я мог бы добавить подобный код в timeout_timer
метод timeout
, которая является функцией, которая вызывается, когда поток таймера заканчивается, но я хочу избежать непосредственного редактирования самого плагина. Я отвечу, как только выполню свое первоначальное задание.