Example #1
0
    def setup(self):
        runner = self.runner
        feature = self.feature
        scenario = self.scenario

        tags = feature.tags + scenario.tags

        row = getattr(scenario, '_row', None)
        if row is not None:
            runner.context._set_root_attribute('active_outline', row)

        runner.context._push()
        runner.context.scenario = scenario

        # current tags as a set
        runner.context.tags = set(tags)

        with runner.fixture_context(self._request):
            # Ensure scoped fixtures are run in the correct behave context
            self._setup_fixtures()

            for tag in scenario.tags:
                runner.run_hook('before_tag', runner.context, tag)
            runner.run_hook('before_scenario', runner.context, scenario)

        for step in scenario:
            step.match = runner.step_registry.find_match(step)
            if step.match is None:
                self.undefined.append(step)
                step.status = 'undefined'
Example #2
0
    def setup(self):
        runner = self.runner
        feature = self.feature
        scenario = self.scenario

        tags = feature.tags + scenario.tags

        row = getattr(scenario, '_row', None)
        if row is not None:
            runner.context._set_root_attribute('active_outline', row)

        runner.context._push()
        runner.context.scenario = scenario

        # current tags as a set
        runner.context.tags = set(tags)

        with runner.fixture_context(self._request):
            # Ensure scoped fixtures are run in the correct behave context
            self._setup_fixtures()

            for tag in scenario.tags:
                runner.run_hook('before_tag', runner.context, tag)
            runner.run_hook('before_scenario', runner.context, scenario)

        for step in scenario:
            step.match = runner.step_registry.find_match(step)
            if step.match is None:
                self.undefined.append(step)
                step.status = 'undefined'
Example #3
0
    def teardown(self):
        runner = self.runner
        feature = self.feature

        with runner.fixture_context(self._request):
            runner.run_hook('after_feature', runner.context, feature)
            for tag in feature.tags:
                runner.run_hook('after_tag', runner.context, tag)

        runner.context._pop()
Example #4
0
    def teardown(self):
        runner = self.runner
        feature = self.feature

        with runner.fixture_context(self._request):
            runner.run_hook('after_feature', runner.context, feature)
            for tag in feature.tags:
                runner.run_hook('after_tag', runner.context, tag)

        runner.context._pop()
Example #5
0
    def teardown(self):
        runner = self.runner
        scenario = self.scenario

        #for step in self.undefined:
        #    runner.undefined.append(step)

        with runner.fixture_context(self._request):
            runner.run_hook('after_scenario', runner.context, scenario)
            for tag in scenario.tags:
                runner.run_hook('after_tag', runner.context, tag)

        runner.context._pop()
        runner.context._set_root_attribute('active_outline', None)
Example #6
0
def context(request):
    runner = request.session.config.pluginmanager.getplugin('bdd')
    context = runner.context

    # Hooks are called here so they only run when bdd tests are selected
    @request.addfinalizer
    def after_all():
        with runner.fixture_context(request):
            runner.run_hook('after_all', context)

    with runner.fixture_context(request):
        runner.run_hook('before_all', context)

    return context
Example #7
0
    def teardown(self):
        runner = self.runner
        scenario = self.scenario

        #for step in self.undefined:
        #    runner.undefined.append(step)

        with runner.fixture_context(self._request):
            runner.run_hook('after_scenario', runner.context, scenario)
            for tag in scenario.tags:
                runner.run_hook('after_tag', runner.context, tag)

        runner.context._pop()
        runner.context._set_root_attribute('active_outline', None)
Example #8
0
def context(request):
    runner = request.session.config.pluginmanager.getplugin('bdd')
    context = runner.context

    # Hooks are called here so they only run when bdd tests are selected
    @request.addfinalizer
    def after_all():
        with runner.fixture_context(request):
            runner.run_hook('after_all', context)

    with runner.fixture_context(request):
        runner.run_hook('before_all', context)

    return context
Example #9
0
    def setup(self):
        runner = self.runner
        step = self.step
        match = step.match

        runner.context.step = step

        if match is None:
            self.parent.run_steps = False
            pytest.skip('No match')
            return

        if not self.parent.run_steps:
            pytest.skip('Skipped')
            return

        with runner.fixture_context(self._request):
            self._setup_fixtures()
            runner.run_hook('before_step', runner.context, self)
Example #10
0
    def setup(self):
        runner = self.runner
        step = self.step
        match = step.match

        runner.context.step = step

        if match is None:
            self.parent.run_steps = False
            pytest.skip('No match')
            return

        if not self.parent.run_steps:
            pytest.skip('Skipped')
            return

        with runner.fixture_context(self._request):
            self._setup_fixtures()
            runner.run_hook('before_step', runner.context, self)
Example #11
0
    def setup(self):
        runner = self.runner
        feature = self.feature
        runner.feature = feature

        with runner.fixture_context(self._request):
            # Ensure that before_all / after_all get called
            runner.getfixture('context')
            self._setup_fixtures('session')

        runner.context._push()
        runner.context.feature = feature

        # current tags as a set
        runner.context.tags = set(feature.tags)

        with runner.fixture_context(self._request):
            # Ensure scoped fixtures are run in the correct behave context
            self._setup_fixtures()

            for tag in feature.tags:
                runner.run_hook('before_tag', runner.context, tag)
            runner.run_hook('before_feature', runner.context, feature)
Example #12
0
    def setup(self):
        runner = self.runner
        feature = self.feature
        runner.feature = feature

        with runner.fixture_context(self._request):
            # Ensure that before_all / after_all get called
            runner.getfixture('context')
            self._setup_fixtures('session')

        runner.context._push()
        runner.context.feature = feature

        # current tags as a set
        runner.context.tags = set(feature.tags)

        with runner.fixture_context(self._request):
            # Ensure scoped fixtures are run in the correct behave context
            self._setup_fixtures()

            for tag in feature.tags:
                runner.run_hook('before_tag', runner.context, tag)
            runner.run_hook('before_feature', runner.context, feature)
Example #13
0
    def teardown(self):
        runner = self.runner
        step = self.step

        with runner.fixture_context(self._request):
            runner.run_hook('after_step', runner.context, step)
Example #14
0
 def after_all():
     with runner.fixture_context(request):
         runner.run_hook('after_all', context)
Example #15
0
    def teardown(self):
        runner = self.runner
        step = self.step

        with runner.fixture_context(self._request):
            runner.run_hook('after_step', runner.context, step)
Example #16
0
 def after_all():
     with runner.fixture_context(request):
         runner.run_hook('after_all', context)