def pytest_fixture_setup(self, fixturedef, request): fixture_name = fixturedef.argname container_uuid = self._cache.get(fixturedef) if not container_uuid: container_uuid = self._cache.set(fixturedef) container = TestResultContainer(uuid=container_uuid) self.allure_logger.start_group(container_uuid, container) self.allure_logger.update_group(container_uuid, start=now()) before_fixture_uuid = uuid4() before_fixture = TestBeforeResult(name=fixture_name, start=now()) self.allure_logger.start_before_fixture(container_uuid, before_fixture_uuid, before_fixture) outcome = yield self.allure_logger.stop_before_fixture( before_fixture_uuid, stop=now(), status=get_outcome_status(outcome), statusDetails=get_outcome_status_details(outcome)) finalizers = getattr(fixturedef, '_finalizers', []) for index, finalizer in enumerate(finalizers): name = '{fixture}::{finalizer}'.format(fixture=fixturedef.argname, finalizer=getattr( finalizer, "__name__", index)) finalizers[index] = allure_commons.fixture( finalizer, parent_uuid=container_uuid, name=name)
def pytest_fixture_setup(self, fixturedef, request): fixture_name = fixturedef.argname container_uuid = self._cache.get(fixturedef) if not container_uuid: container_uuid = self._cache.set(fixturedef) container = TestResultContainer(uuid=container_uuid) self.allure_logger.start_group(container_uuid, container) self.allure_logger.update_group(container_uuid, start=now()) before_fixture_uuid = uuid4() before_fixture = TestBeforeResult(name=fixture_name, start=now()) self.allure_logger.start_before_fixture(container_uuid, before_fixture_uuid, before_fixture) parameters = allure_parameters(fixturedef, request) if parameters: test_uuid = self._cache.get(request._pyfuncitem.nodeid) parameters = Parameter(**parameters) if parameters else [] self.allure_logger.update_test(test_uuid, parameters=parameters) yield self.allure_logger.stop_before_fixture(before_fixture_uuid, stop=now()) for index, finalizer in enumerate(fixturedef._finalizer or ()): name = u'{fixture}::{finalizer}'.format( fixture=fixturedef.argname, finalizer=finalizer.__name__) fixturedef._finalizer[index] = allure_commons.fixture( finalizer, parent_uuid=container_uuid, name=name)
def pytest_fixture_setup(self, fixturedef, request): fixture_name = fixturedef.argname container_uuid = self._cache.get(fixturedef) if not container_uuid: container_uuid = self._cache.push(fixturedef) container = TestResultContainer(uuid=container_uuid) self.allure_logger.start_group(container_uuid, container) self.allure_logger.update_group(container_uuid, start=now()) before_fixture_uuid = uuid4() before_fixture = TestBeforeResult(name=fixture_name, start=now()) self.allure_logger.start_before_fixture(container_uuid, before_fixture_uuid, before_fixture) outcome = yield self.allure_logger.stop_before_fixture(before_fixture_uuid, stop=now(), status=get_outcome_status(outcome), statusDetails=get_outcome_status_details(outcome)) finalizers = getattr(fixturedef, '_finalizers', []) for index, finalizer in enumerate(finalizers): name = '{fixture}::{finalizer}'.format(fixture=fixturedef.argname, finalizer=getattr(finalizer, "__name__", index)) finalizers[index] = allure_commons.fixture(finalizer, parent_uuid=container_uuid, name=name)