Как добавить пользовательский вывод журнала в отчет из тестового метода? - PullRequest
0 голосов
/ 25 декабря 2018

Мне нужно добавить пользовательские сообщения в HTML-отчет.Я могу сделать это из ловушки pytest_runtest_makereport, но я хочу добавить некоторые данные из моего метода тестирования.

conftest.py:

@pytest.mark.hookwrapper
def pytest_runtest_makereport(item, call):
    pytest_html = item.config.pluginmanager.getplugin('html')
    outcome = yield
    report = outcome.get_result()
    extra = getattr(report, 'extra', [])

    if report.when == 'call':
        extra.append(pytest_html.extras.html('<p>step 1</p>'))
        extra.append(pytest_html.extras.html('<p>step 2</p>'))
        extra.append(pytest_html.extras.html('<p>step 3</p>'))
        extra.append(pytest_html.extras.html('<p>step 4</p>'))
        extra.append(pytest_html.extras.html('<p>step 5</p>'))
        report.extra = extra



 @mark.first_feature
    class FirstFeatureTests:

        report = ''

        def appendStringToReport(self, report, message):
            report += "<p> " + message + " </p>"

    @mark.sanity
    @mark.regression
    @mark.example
    def test_1_first_feature(self, init_environment):
        self.appendStringToReport(self.report, "step 1")
        self.appendStringToReport(self.report, "step 2")
        self.appendStringToReport(self.report, "step 3")
        self.appendStringToReport(self.report, "step 4")
        assert True

Как передать строку "report" из моего класса теста в ловушку pytest_runtest_makereport?

Я буду признателен за любую помощь, спасибо.

...