@Test public void should_record_nested_pending_steps() { SimpleTestScenarioSteps steps = factory.getStepLibraryFor(SimpleTestScenarioSteps.class); StepEventBus.getEventBus().testStarted("a_test", SampleTestScenario.class); steps.step1(); steps.step9(); StepEventBus.getEventBus().testFinished(testOutcome); String expectedSteps = "TEST a_test\n" + "-step1\n" + "---> STEP DONE\n" + "-step9\n" + "--step1\n" + "----> STEP DONE\n" + "--pendingStep\n" + "----> STEP PENDING\n" + "--step4\n" + "---step5\n" + "-----> STEP DONE\n" + "---step6\n" + "-----> STEP DONE\n" + "----> STEP DONE\n" + "---> STEP DONE\n" + "TEST DONE\n"; System.out.println(consoleStepListener.toString()); assertThat(consoleStepListener.toString(), is(expectedSteps)); }
@Test public void should_record_when_a_test_starts_and_finishes() { SimpleTestScenarioSteps steps = factory.getStepLibraryFor(SimpleTestScenarioSteps.class); StepEventBus.getEventBus().testStarted("a_test", SampleTestScenario.class); steps.step1(); StepEventBus.getEventBus().testFinished(testOutcome); String expectedSteps = "TEST a_test\n" + "-step1\n" + "---> STEP DONE\n" + "TEST DONE\n"; assertThat(consoleStepListener.toString(), is(expectedSteps)); }
@Test public void should_notify_listeners_when_the_test_suite_finishes() { SimpleTestScenarioSteps steps = factory.getStepLibraryFor(SimpleTestScenarioSteps.class); StepEventBus.getEventBus().testSuiteStarted(SampleTestScenario.class); StepEventBus.getEventBus().testStarted("some_test", SampleTestScenario.class); steps.step1(); StepEventBus.getEventBus().testFinished(testOutcome); StepEventBus.getEventBus().testSuiteFinished(); verify(listener).testSuiteFinished(); }
@Test public void should_execute_steps_transparently() { SimpleTestScenarioSteps steps = factory.getStepLibraryFor(SimpleTestScenarioSteps.class); StepEventBus.getEventBus().testStarted("some_test", SampleTestScenario.class); steps.step1(); steps.step2(); steps.step3(); StepEventBus.getEventBus().testFinished(testOutcome); verify(driver).get("step_one"); verify(driver).get("step_two"); verify(driver).get("step_three"); }
@Test public void should_notify_listeners_when_a_step_starts() { SimpleTestScenarioSteps steps = factory.getStepLibraryFor(SimpleTestScenarioSteps.class); StepEventBus.getEventBus().testStarted("some_test", SampleTestScenario.class); steps.step1(); StepEventBus.getEventBus().testFinished(testOutcome); ArgumentCaptor<ExecutedStepDescription> argument = ArgumentCaptor.forClass(ExecutedStepDescription.class); verify(listener).stepStarted(argument.capture()); assertThat(argument.getValue().getName(), is("step1")); }
@Test public void a_step_can_return_a_step_object_if_a_failure_occurs() { SimpleTestScenarioSteps steps = factory.getStepLibraryFor(SimpleTestScenarioSteps.class); StepEventBus.getEventBus().testStarted("a_test", SampleTestScenario.class); steps.stepThatFailsAndReturnsAStep().stepThatReturnsAStep(); StepEventBus.getEventBus().testFinished(testOutcome); String expectedSteps = "TEST a_test\n" + "-stepThatFailsAndReturnsAStep\n" + "---> STEP FAILED\n" + "-stepThatReturnsAStep\n" + "---> STEP IGNORED\n" + "TEST DONE\n"; assertThat(consoleStepListener.toString(), is(expectedSteps)); }
@Test public void should_record_groups_as_nested_test_steps() { SimpleTestScenarioSteps steps = factory.getStepLibraryFor(SimpleTestScenarioSteps.class); StepEventBus.getEventBus().testStarted("a_test", SampleTestScenario.class); steps.nested_steps(); StepEventBus.getEventBus().testFinished(testOutcome); String expectedSteps = "TEST a_test\n" + "-nested_steps\n" + "--step1\n" + "----> STEP DONE\n" + "--nested_steps1\n" + "---step1\n" + "-----> STEP DONE\n" + "---nested_steps2\n" + "----step1\n" + "------> STEP DONE\n" + "----step4\n" + "-----step5\n" + "-------> STEP DONE\n" + "-----step6\n" + "-------> STEP DONE\n" + "------> STEP DONE\n" + "-----> STEP DONE\n" + "---step4\n" + "----step5\n" + "------> STEP DONE\n" + "----step6\n" + "------> STEP DONE\n" + "-----> STEP DONE\n" + "----> STEP DONE\n" + "--step4\n" + "---step5\n" + "-----> STEP DONE\n" + "---step6\n" + "-----> STEP DONE\n" + "----> STEP DONE\n" + "---> STEP DONE\n" + "TEST DONE\n"; assertThat(consoleStepListener.toString(), is(expectedSteps)); }
@Test public void when_an_entier_test_is_pending_all_the_contained_steps_are_skipped() { SimpleTestScenarioSteps steps = factory.getStepLibraryFor(SimpleTestScenarioSteps.class); StepEventBus.getEventBus().testStarted("a_test", SampleTestScenario.class); StepEventBus.getEventBus().testPending(); steps.step1(); steps.step2(); steps.step3(); StepEventBus.getEventBus().testFinished(testOutcome); String expectedSteps = "TEST a_test\n" + "-step1\n" + "---> STEP IGNORED\n" + "-step2\n" + "---> STEP IGNORED\n" + "-step3\n" + "---> STEP IGNORED\n" + "TEST DONE\n"; assertThat(consoleStepListener.toString(), is(expectedSteps)); }
@Test public void should_not_use_the_browser() { SimpleTestScenarioSteps steps = factory.getStepLibraryFor(SimpleTestScenarioSteps.class); StepEventBus.getEventBus().testStarted("a_test", SampleTestScenario.class); steps.step1(); steps.step7(); StepEventBus.getEventBus().testFinished(testOutcome); String expectedSteps = "TEST a_test\n" + "-step1\n" + "---> STEP DONE\n" + "-step7\n" + "--step1\n" + "----> STEP DONE\n" + "--failingStep\n" + "----> STEP FAILED\n" + "--step2\n" + "----> STEP IGNORED\n" + "---> STEP DONE\n" + "TEST DONE\n"; assertThat(consoleStepListener.toString(), is(expectedSteps)); }
public void sampleTest() { steps.step1(); steps.step2(); steps.step3(); }