Search in sources :

Example 11 with TestCaseFinished

use of io.cucumber.plugin.event.TestCaseFinished in project cucumber-jvm by cucumber.

the class TestCaseResultObserverTest method empty.

@Test
void empty() {
    bus.send(new TestCaseStarted(Instant.now(), testCase));
    Result result = new Result(Status.PASSED, Duration.ZERO, null);
    bus.send(new TestCaseFinished(Instant.now(), testCase, result));
    observer.assertTestCasePassed();
}
Also used : TestCaseFinished(io.cucumber.plugin.event.TestCaseFinished) TestCaseStarted(io.cucumber.plugin.event.TestCaseStarted) Result(io.cucumber.plugin.event.Result) Test(org.junit.jupiter.api.Test)

Example 12 with TestCaseFinished

use of io.cucumber.plugin.event.TestCaseFinished in project cucumber-jvm by cucumber.

the class TestCaseResultObserverTest method passed.

@Test
void passed() {
    bus.send(new TestCaseStarted(Instant.now(), testCase));
    bus.send(new TestStepStarted(Instant.now(), testCase, testStep));
    Result result = new Result(Status.PASSED, Duration.ZERO, null);
    bus.send(new TestStepFinished(Instant.now(), testCase, testStep, result));
    bus.send(new TestCaseFinished(Instant.now(), testCase, result));
    observer.assertTestCasePassed();
}
Also used : TestCaseFinished(io.cucumber.plugin.event.TestCaseFinished) TestStepFinished(io.cucumber.plugin.event.TestStepFinished) TestStepStarted(io.cucumber.plugin.event.TestStepStarted) TestCaseStarted(io.cucumber.plugin.event.TestCaseStarted) Result(io.cucumber.plugin.event.Result) Test(org.junit.jupiter.api.Test)

Example 13 with TestCaseFinished

use of io.cucumber.plugin.event.TestCaseFinished in project cucumber-jvm by cucumber.

the class TestCaseResultObserverTest method failed.

@Test
void failed() {
    bus.send(new TestCaseStarted(Instant.now(), testCase));
    bus.send(new TestStepStarted(Instant.now(), testCase, testStep));
    Throwable error = new AssertionFailedError("Mocked");
    Result result = new Result(Status.FAILED, Duration.ZERO, error);
    bus.send(new TestStepFinished(Instant.now(), testCase, testStep, result));
    bus.send(new TestCaseFinished(Instant.now(), testCase, result));
    Exception exception = assertThrows(Exception.class, observer::assertTestCasePassed);
    assertThat(exception.getCause(), is(error));
}
Also used : TestCaseFinished(io.cucumber.plugin.event.TestCaseFinished) TestStepFinished(io.cucumber.plugin.event.TestStepFinished) AssertionFailedError(org.opentest4j.AssertionFailedError) TestStepStarted(io.cucumber.plugin.event.TestStepStarted) TestCaseStarted(io.cucumber.plugin.event.TestCaseStarted) TestAbortedException(org.opentest4j.TestAbortedException) Result(io.cucumber.plugin.event.Result) Test(org.junit.jupiter.api.Test)

Example 14 with TestCaseFinished

use of io.cucumber.plugin.event.TestCaseFinished in project cucumber-jvm by cucumber.

the class CucumberExecutionContextTest method rethrows_but_does_not_collect_failures_in_test_case.

@Test
public void rethrows_but_does_not_collect_failures_in_test_case() {
    IllegalStateException thrown = assertThrows(IllegalStateException.class, () -> context.runTestCase(runner -> {
        try (TestCaseResultObserver r = new TestCaseResultObserver(bus)) {
            bus.send(new TestCaseFinished(bus.getInstant(), mock(TestCase.class), new Result(Status.FAILED, Duration.ZERO, failure)));
            r.assertTestCasePassed(Exception::new, Function.identity(), (suggestions) -> new Exception(), Function.identity());
        }
    }));
    assertThat(thrown, is(failure));
    assertThat(context.getThrowable(), nullValue());
}
Also used : CoreMatchers.is(org.hamcrest.CoreMatchers.is) Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) Result(io.cucumber.plugin.event.Result) TestRunStarted(io.cucumber.plugin.event.TestRunStarted) Status(io.cucumber.plugin.event.Status) UUID(java.util.UUID) TestCase(io.cucumber.plugin.event.TestCase) Function(java.util.function.Function) Supplier(java.util.function.Supplier) ArrayList(java.util.ArrayList) CoreMatchers.notNullValue(org.hamcrest.CoreMatchers.notNullValue) Test(org.junit.jupiter.api.Test) RuntimeOptions(io.cucumber.core.options.RuntimeOptions) List(java.util.List) RuntimeOptionsBuilder(io.cucumber.core.options.RuntimeOptionsBuilder) TestRunFinished(io.cucumber.plugin.event.TestRunFinished) TestCaseFinished(io.cucumber.plugin.event.TestCaseFinished) Duration(java.time.Duration) Clock(java.time.Clock) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) CoreMatchers.nullValue(org.hamcrest.CoreMatchers.nullValue) EventBus(io.cucumber.core.eventbus.EventBus) Mockito.mock(org.mockito.Mockito.mock) TestCaseFinished(io.cucumber.plugin.event.TestCaseFinished) TestCase(io.cucumber.plugin.event.TestCase) Result(io.cucumber.plugin.event.Result) Test(org.junit.jupiter.api.Test)

Example 15 with TestCaseFinished

use of io.cucumber.plugin.event.TestCaseFinished in project cucumber-jvm by cucumber.

the class JUnitReporterWithStepNotificationsTest method ignores_steps_when_step_notification_are_disabled.

@Test
void ignores_steps_when_step_notification_are_disabled() {
    EventBus bus = new TimeServiceEventBus(Clock.systemUTC(), UUID::randomUUID);
    JUnitReporter jUnitReporter = new JUnitReporter(bus, new JUnitOptionsBuilder().setStepNotifications(false).build());
    jUnitReporter.startExecutionUnit(pickleRunner, runNotifier);
    bus.send(new TestCaseStarted(now(), testCase));
    bus.send(new TestStepStarted(now(), testCase, mockTestStep(step)));
    Result result = new Result(Status.PASSED, ZERO, null);
    bus.send(new TestStepFinished(now(), testCase, mockTestStep(step), result));
    bus.send(new TestCaseFinished(now(), testCase, result));
    verify(runNotifier, never()).fireTestStarted(pickleRunner.describeChild(step));
    verify(runNotifier, never()).fireTestFinished(pickleRunner.describeChild(step));
}
Also used : TimeServiceEventBus(io.cucumber.core.runtime.TimeServiceEventBus) TestCaseFinished(io.cucumber.plugin.event.TestCaseFinished) TestStepFinished(io.cucumber.plugin.event.TestStepFinished) TimeServiceEventBus(io.cucumber.core.runtime.TimeServiceEventBus) EventBus(io.cucumber.core.eventbus.EventBus) UUID(java.util.UUID) TestStepStarted(io.cucumber.plugin.event.TestStepStarted) TestCaseStarted(io.cucumber.plugin.event.TestCaseStarted) Result(io.cucumber.plugin.event.Result) Test(org.junit.jupiter.api.Test)

Aggregations

TestCaseFinished (io.cucumber.plugin.event.TestCaseFinished)26 Result (io.cucumber.plugin.event.Result)25 TestStepFinished (io.cucumber.plugin.event.TestStepFinished)22 Test (org.junit.jupiter.api.Test)16 TestCaseStarted (io.cucumber.plugin.event.TestCaseStarted)15 TestStepStarted (io.cucumber.plugin.event.TestStepStarted)14 Test (org.testng.annotations.Test)9 Failure (org.junit.runner.notification.Failure)7 SkipException (org.testng.SkipException)7 CucumberException (io.cucumber.core.exception.CucumberException)4 SnippetsSuggestedEvent (io.cucumber.plugin.event.SnippetsSuggestedEvent)4 Suggestion (io.cucumber.plugin.event.SnippetsSuggestedEvent.Suggestion)4 AssumptionViolatedException (org.junit.AssumptionViolatedException)4 TestAbortedException (org.opentest4j.TestAbortedException)4 MultipleFailureException (org.junit.runners.model.MultipleFailureException)3 EventBus (io.cucumber.core.eventbus.EventBus)2 UUID (java.util.UUID)2 RuntimeOptions (io.cucumber.core.options.RuntimeOptions)1 RuntimeOptionsBuilder (io.cucumber.core.options.RuntimeOptionsBuilder)1 TimeServiceEventBus (io.cucumber.core.runtime.TimeServiceEventBus)1