def test_run_calls_run_on_each_generated_scenario(self): # pylint: disable=protected-access outline = ScenarioOutline('foo.feature', 17, u'Scenario Outline', u'foo') outline._scenarios = [Mock(), Mock()] for scenario in outline._scenarios: scenario.run.return_value = False runner = Mock() runner.context = Mock() outline.run(runner) for s in outline._scenarios: s.run.assert_called_with(runner)
def test_run_should_pass_when_all_examples_pass(self): # pylint: disable=protected-access outline = ScenarioOutline('foo.feature', 17, u'Scenario Outline', u'foo') outline._scenarios = [Mock(), Mock(), Mock()] for scenario in outline._scenarios: scenario.run.return_value = False runner = Mock() context = runner.context = Mock() config = runner.config = Mock() config.stop = True resultFailed = outline.run(runner) eq_(resultFailed, False)
def test_run_should_fail_when_last_examples_fails(self): outline = ScenarioOutline('foo.feature', 17, u'Scenario Outline', u'foo') failed = True # pylint: disable=protected-access outline._scenarios = [Mock(), Mock()] outline._scenarios[0].run.return_value = not failed outline._scenarios[1].run.return_value = failed runner = Mock() context = runner.context = Mock() config = runner.config = Mock() config.stop = True resultFailed = outline.run(runner) eq_(resultFailed, True)
def test_run_stops_on_first_failure_if_requested(self): # pylint: disable=protected-access outline = ScenarioOutline('foo.feature', 17, u'Scenario Outline', u'foo') outline._scenarios = [Mock(), Mock()] outline._scenarios[0].run.return_value = True runner = Mock() runner.context = Mock() config = runner.config = Mock() config.stop = True outline.run(runner) outline._scenarios[0].run.assert_called_with(runner) assert not outline._scenarios[1].run.called
def test_run_should_fail_when_first_examples_fails(self): outline = ScenarioOutline("foo.feature", 17, u"Scenario Outline", u"foo") failed = True # pylint: disable=protected-access outline._scenarios = [Mock(), Mock()] outline._scenarios[0].run.return_value = failed outline._scenarios[1].run.return_value = not failed runner = Mock() context = runner.context = Mock() config = runner.config = Mock() config.stop = True resultFailed = outline.run(runner) assert resultFailed is True
def test_run_sets_context_variable_for_outline(self): # pylint: disable=protected-access outline = ScenarioOutline('foo.feature', 17, u'Scenario Outline', u'foo') outline._scenarios = [Mock(), Mock(), Mock()] for scenario in outline._scenarios: scenario.run.return_value = False runner = Mock() context = runner.context = Mock() config = runner.config = Mock() config.stop = True outline.run(runner) eq_(context._set_root_attribute.call_args_list, [ (('active_outline', outline._scenarios[0]._row), {}), (('active_outline', outline._scenarios[1]._row), {}), (('active_outline', outline._scenarios[2]._row), {}), (('active_outline', None), {}), ])