Skip to content

Commit bb97c69

Browse files
committed
[JUnit Platform] Use fluent api in engine tests
1 parent a64adbe commit bb97c69

File tree

2 files changed

+28
-31
lines changed

2 files changed

+28
-31
lines changed

junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/CucumberEngineDescriptor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
class CucumberEngineDescriptor extends EngineDescriptor implements Node<CucumberEngineExecutionContext> {
1111

12+
static final String ENGINE_ID = "cucumber";
13+
1214
CucumberEngineDescriptor(UniqueId uniqueId) {
1315
super(uniqueId, "Cucumber");
1416
}

junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/CucumberTestEngineTest.java

Lines changed: 26 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,28 @@
77
import org.junit.platform.engine.ExecutionRequest;
88
import org.junit.platform.engine.TestDescriptor;
99
import org.junit.platform.engine.UniqueId;
10-
import org.junit.platform.testkit.engine.EngineExecutionResults;
1110
import org.junit.platform.testkit.engine.EngineTestKit;
12-
import org.junit.platform.testkit.engine.Event;
1311

1412
import java.util.Optional;
15-
import java.util.stream.Stream;
1613

1714
import static io.cucumber.junit.platform.engine.Constants.FILTER_NAME_PROPERTY_NAME;
1815
import static io.cucumber.junit.platform.engine.Constants.FILTER_TAGS_PROPERTY_NAME;
16+
import static io.cucumber.junit.platform.engine.CucumberEngineDescriptor.ENGINE_ID;
1917
import static org.junit.jupiter.api.Assertions.assertEquals;
2018
import static org.junit.jupiter.api.Assertions.assertNotNull;
2119
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectFile;
20+
import static org.junit.platform.testkit.engine.EventConditions.event;
21+
import static org.junit.platform.testkit.engine.EventConditions.finishedSuccessfully;
22+
import static org.junit.platform.testkit.engine.EventConditions.skippedWithReason;
23+
import static org.junit.platform.testkit.engine.EventConditions.test;
2224

2325
class CucumberTestEngineTest {
2426

2527
private final CucumberTestEngine engine = new CucumberTestEngine();
2628

2729
@Test
2830
void id() {
29-
assertEquals("cucumber", engine.getId());
31+
assertEquals(ENGINE_ID, engine.getId());
3032
}
3133

3234
@Test
@@ -47,46 +49,39 @@ void createExecutionContext() {
4749

4850
@Test
4951
void selectAndExecuteSingleScenario() {
50-
EngineExecutionResults result = EngineTestKit.engine("cucumber")
52+
EngineTestKit.engine(ENGINE_ID)
5153
.selectors(selectFile("src/test/resources/io/cucumber/junit/platform/engine/single.feature"))
52-
.execute();
53-
assertEquals(2, result.testEvents().count()); // test start and finished
54-
assertEquals(1, result.testEvents().succeeded().count());
54+
.execute()
55+
.testEvents()
56+
.assertThatEvents()
57+
.haveExactly(2, event(test()))
58+
.haveExactly(1, event(finishedSuccessfully()));
5559
}
5660

5761
@Test
5862
void selectAndSkipDisabledScenarioByTags() {
59-
EngineExecutionResults result = EngineTestKit.engine("cucumber")
63+
EngineTestKit.engine(ENGINE_ID)
6064
.configurationParameter(FILTER_TAGS_PROPERTY_NAME, "@Integration and not @Disabled")
6165
.selectors(selectFile("src/test/resources/io/cucumber/junit/platform/engine/single.feature"))
62-
.execute();
63-
assertEquals(1, result.testEvents().count());
64-
assertEquals(1, result.testEvents().skipped().count());
65-
assertEquals(
66-
Optional.of(
67-
"'cucumber.filter.tags=( @Integration and not ( @Disabled ) )' did not match this scenario"),
68-
result.testEvents()
69-
.skipped()
70-
.map(Event::getPayload)
71-
.flatMap(o -> o.map(Stream::of).orElseGet(Stream::empty))
72-
.findFirst());
66+
.execute()
67+
.testEvents()
68+
.assertThatEvents()
69+
.haveExactly(1, event(test()))
70+
.haveExactly(1, event(skippedWithReason(
71+
"'cucumber.filter.tags=( @Integration and not ( @Disabled ) )' did not match this scenario")));
7372
}
7473

7574
@Test
7675
void selectAndSkipDisabledScenarioByName() {
77-
EngineExecutionResults result = EngineTestKit.engine("cucumber")
76+
EngineTestKit.engine(ENGINE_ID)
7877
.configurationParameter(FILTER_NAME_PROPERTY_NAME, "^Nothing$")
7978
.selectors(selectFile("src/test/resources/io/cucumber/junit/platform/engine/single.feature"))
80-
.execute();
81-
assertEquals(1, result.testEvents().count());
82-
assertEquals(1, result.testEvents().skipped().count());
83-
assertEquals(
84-
Optional.of("'cucumber.filter.name=^Nothing$' did not match this scenario"),
85-
result.testEvents()
86-
.skipped()
87-
.map(Event::getPayload)
88-
.flatMap(o -> o.map(Stream::of).orElseGet(Stream::empty))
89-
.findFirst());
79+
.execute()
80+
.testEvents()
81+
.assertThatEvents()
82+
.haveExactly(1, event(test()))
83+
.haveExactly(1,
84+
event(skippedWithReason("'cucumber.filter.name=^Nothing$' did not match this scenario")));
9085
}
9186

9287
}

0 commit comments

Comments
 (0)