Можно ли сгенерировать 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, которая является функцией, которая вызывается, когда поток таймера заканчивается, но я хочу избежать непосредственного редактирования самого плагина. Я отвечу, как только выполню свое первоначальное задание.

0 ответов

Другие вопросы по тегам