Search in sources :

Example 16 with Glue

use of io.cucumber.core.backend.Glue in project cucumber-jvm by cucumber.

the class RunnerTest method steps_are_not_executed_on_dry_run.

@Test
void steps_are_not_executed_on_dry_run() {
    StubStepDefinition stepDefinition = new StubStepDefinition("some step");
    Pickle pickle = createPickleMatchingStepDefinitions(stepDefinition);
    RuntimeOptions runtimeOptions = new RuntimeOptionsBuilder().setDryRun().build();
    TestRunnerSupplier runnerSupplier = new TestRunnerSupplier(bus, runtimeOptions) {

        @Override
        public void loadGlue(Glue glue, List<URI> gluePaths) {
            glue.addStepDefinition(stepDefinition);
        }
    };
    runnerSupplier.get().runPickle(pickle);
    assertThat(stepDefinition.getArgs(), is(nullValue()));
}
Also used : Pickle(io.cucumber.core.gherkin.Pickle) Glue(io.cucumber.core.backend.Glue) RuntimeOptionsBuilder(io.cucumber.core.options.RuntimeOptionsBuilder) Collections.singletonList(java.util.Collections.singletonList) Collections.emptyList(java.util.Collections.emptyList) List(java.util.List) RuntimeOptions(io.cucumber.core.options.RuntimeOptions) Test(org.junit.jupiter.api.Test)

Example 17 with Glue

use of io.cucumber.core.backend.Glue in project cucumber-jvm by cucumber.

the class HookOrderTest method after_step_hooks_execute_in_reverse_order.

@Test
void after_step_hooks_execute_in_reverse_order() {
    final List<HookDefinition> hooks = mockHooks(Integer.MIN_VALUE, 2, Integer.MAX_VALUE, 4, -1, 0, 10000);
    TestRunnerSupplier runnerSupplier = new TestRunnerSupplier(bus, runtimeOptions) {

        @Override
        public void loadGlue(Glue glue, List<URI> gluePaths) {
            glue.addStepDefinition(stepDefinition);
            for (HookDefinition hook : hooks) {
                glue.addAfterStepHook(hook);
            }
        }
    };
    runnerSupplier.get().runPickle(pickle);
    InOrder inOrder = inOrder(hooks.toArray());
    inOrder.verify(hooks.get(2)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(6)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(3)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(1)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(5)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(4)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(0)).execute(ArgumentMatchers.any());
}
Also used : InOrder(org.mockito.InOrder) Glue(io.cucumber.core.backend.Glue) ArrayList(java.util.ArrayList) List(java.util.List) HookDefinition(io.cucumber.core.backend.HookDefinition) Test(org.junit.jupiter.api.Test)

Example 18 with Glue

use of io.cucumber.core.backend.Glue in project cucumber-jvm by cucumber.

the class HookOrderTest method after_hooks_execute_in_reverse_order.

@Test
void after_hooks_execute_in_reverse_order() {
    final List<HookDefinition> hooks = mockHooks(Integer.MIN_VALUE, 2, Integer.MAX_VALUE, 4, -1, 0, 10000);
    TestRunnerSupplier runnerSupplier = new TestRunnerSupplier(bus, runtimeOptions) {

        @Override
        public void loadGlue(Glue glue, List<URI> gluePaths) {
            glue.addStepDefinition(stepDefinition);
            for (HookDefinition hook : hooks) {
                glue.addAfterHook(hook);
            }
        }
    };
    runnerSupplier.get().runPickle(pickle);
    InOrder inOrder = inOrder(hooks.toArray());
    inOrder.verify(hooks.get(2)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(6)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(3)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(1)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(5)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(4)).execute(ArgumentMatchers.any());
    inOrder.verify(hooks.get(0)).execute(ArgumentMatchers.any());
}
Also used : InOrder(org.mockito.InOrder) Glue(io.cucumber.core.backend.Glue) ArrayList(java.util.ArrayList) List(java.util.List) HookDefinition(io.cucumber.core.backend.HookDefinition) Test(org.junit.jupiter.api.Test)

Aggregations

Glue (io.cucumber.core.backend.Glue)18 Test (org.junit.jupiter.api.Test)18 List (java.util.List)15 HookDefinition (io.cucumber.core.backend.HookDefinition)14 InOrder (org.mockito.InOrder)12 Collections.emptyList (java.util.Collections.emptyList)10 Collections.singletonList (java.util.Collections.singletonList)10 StaticHookDefinition (io.cucumber.core.backend.StaticHookDefinition)8 ArrayList (java.util.ArrayList)6 Pickle (io.cucumber.core.gherkin.Pickle)5 Backend (io.cucumber.core.backend.Backend)3 ObjectFactory (io.cucumber.core.backend.ObjectFactory)3 TestSnippet (io.cucumber.core.snippets.TestSnippet)3 StubStepDefinition (io.cucumber.core.backend.StubStepDefinition)2 RuntimeOptions (io.cucumber.core.options.RuntimeOptions)2 RuntimeOptionsBuilder (io.cucumber.core.options.RuntimeOptionsBuilder)2 Feature (io.cucumber.core.gherkin.Feature)1 StepDurationTimeService (io.cucumber.core.runner.StepDurationTimeService)1 TestBackendSupplier (io.cucumber.core.runner.TestBackendSupplier)1 ConcurrentEventListener (io.cucumber.plugin.ConcurrentEventListener)1