コード例 #1
0
    def pytest_runtest_protocol(self, item, nextitem):
        CafyLog.testcase_name = item.name
        try:
            # for common items
            description = item.function.__doc__
        except AttributeError:
            # for doctests that has no `function` attribute
            description = item.reportinfo()[2]
        self.test = TestCase(
            name='.'.join(
                mangle_testnames(
                    [x.name for x in parent_down_from_module(item)])),
            description=description,
            start=now(),
            attachments=[],
            labels=labels_of(item),
            status=None,
            steps=[],
            id=str(uuid.uuid4())
        )  # for later resolution in AllureAgregatingListener.pytest_sessionfinish

        self.stack = [self.test]

        yield

        self.test = None
        self.stack = []
コード例 #2
0
    def pytest_collectreport(self, report):
        if not report.passed:
            if report.failed:
                status = Status.BROKEN
            else:
                status = Status.CANCELED

            self.fails.append(CollectFail(name=mangle_testnames(report.nodeid.split("::"))[-1],
                                          status=status,
                                          message=get_exception_message(None, None, report),
                                          trace=report.longrepr))