[py-dev] how to access docstrings from pytest_report_teststatus or pytest_runtest_logreport
Ronny Pfannschmidt
Ronny.Pfannschmidt at gmx.de
Thu Feb 16 14:32:01 CET 2012
On 02/16/2012 01:48 PM, Anton P wrote:
> Hi,
>
> I'm trying to write my own py.test pluging for extended junitxml
> reports. This pluging have to parse testcase's docstrings for some
> additional info for report.
>
> I've found the next code in pytest_bugzilla plugin:
>
> def pytest_report_teststatus(self,report):
> if report.failed:
> if self.analysed(report.item.function.__doc__):
> return "analysed", "A", "ANALYSED"
>
> And I've tried to do the same to access docstrings. But I'm confused,
> because report object does not contain "item" attribute.
>
> At the moment I've added class ExtTestReport(TestReport) and redefined
> pytest_runtest_makereport() in plugin. The last hook now return report
> with "item" object.
>
> But I think, that redefining native pytest_runtest_makereport() in
> pluging is not the best idea. Especially because new method is always
> called regardless of my pluging usage.
>
> Please, point me to right solution to access testcase's docstrings
> from pytest_report_teststatus() or pytest_runtest_logreport().
>
you can extend the native pytest_runtest_makereport
think of something like
def pytest_runtest_makereport(__multicall__, ...):
rep = __multicall__.execute()
rep._docstring = item...
return rep
-- Regards Ronny
> Thank you in advance!
> _______________________________________________
> py-dev mailing list
> py-dev at codespeak.net
> http://codespeak.net/mailman/listinfo/py-dev
More information about the Pytest-dev
mailing list