Skip to content

Commit 1283e54

Browse files
committed
Use custom naming in test
1 parent 5b02cb1 commit 1283e54

39 files changed

+111
-8
lines changed

java/src/test/java/io/cucumber/junitxmlformatter/MessagesToJunitXmlWriterAcceptanceTest.java

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import io.cucumber.messages.NdjsonToMessageIterable;
44
import io.cucumber.messages.types.Envelope;
5+
import io.cucumber.query.NamingStrategy;
6+
import io.cucumber.query.NamingStrategy.Strategy;
57
import org.assertj.core.api.Assertions;
68
import org.junit.jupiter.api.Disabled;
79
import org.junit.jupiter.params.ParameterizedTest;
@@ -24,7 +26,6 @@
2426
import java.util.Comparator;
2527
import java.util.List;
2628
import java.util.Objects;
27-
import java.util.stream.Collectors;
2829
import java.util.stream.Stream;
2930

3031
import static io.cucumber.junitxmlformatter.Jackson.OBJECT_MAPPER;
@@ -34,13 +35,35 @@ class MessagesToJunitXmlWriterAcceptanceTest {
3435
private static final NdjsonToMessageIterable.Deserializer deserializer = (json) -> OBJECT_MAPPER.readValue(json, Envelope.class);
3536

3637
static List<TestCase> acceptance() throws IOException {
38+
List<TestCase> testCases = new ArrayList<>();
39+
3740
try (Stream<Path> paths = Files.list(Paths.get("../testdata/src"))) {
38-
return paths
41+
paths
3942
.filter(path -> path.getFileName().toString().endsWith(".ndjson"))
40-
.map(TestCase::new)
43+
.map(source -> new TestCase(
44+
source,
45+
"default",
46+
MessagesToJunitXmlWriter.builder()
47+
)
48+
)
4149
.sorted(Comparator.comparing(testCase -> testCase.source))
42-
.collect(Collectors.toList());
50+
.forEach(testCases::add);
4351
}
52+
53+
testCases.add(
54+
new TestCase(
55+
Paths.get("../testdata/src/examples-tables.ndjson"),
56+
"custom",
57+
MessagesToJunitXmlWriter.builder()
58+
.testSuiteName("Cucumber Suite")
59+
.testClassName("Cucumber Class")
60+
.namingStrategy(NamingStrategy
61+
.strategy(Strategy.LONG)
62+
.build())
63+
)
64+
);
65+
66+
return testCases;
4467
}
4568

4669
@ParameterizedTest
@@ -94,7 +117,7 @@ void updateExpectedFiles(TestCase testCase) throws IOException {
94117
private static <T extends OutputStream> T writeJunitXmlReport(TestCase testCase, T out) throws IOException {
95118
try (InputStream in = Files.newInputStream(testCase.source)) {
96119
try (NdjsonToMessageIterable envelopes = new NdjsonToMessageIterable(in, deserializer)) {
97-
try (MessagesToJunitXmlWriter writer = MessagesToJunitXmlWriter.builder().build(out)) {
120+
try (MessagesToJunitXmlWriter writer = testCase.getBuilder().build(out)) {
98121
for (Envelope envelope : envelopes) {
99122
writer.write(envelope);
100123
}
@@ -109,17 +132,25 @@ static class TestCase {
109132
private final Path expected;
110133

111134
private final String name;
135+
private final MessagesToJunitXmlWriter.Builder builder;
136+
private final String strategyName;
112137

113-
TestCase(Path source) {
138+
TestCase(Path source, String namingStrategyName, MessagesToJunitXmlWriter.Builder builder) {
114139
this.source = source;
115140
String fileName = source.getFileName().toString();
116141
this.name = fileName.substring(0, fileName.lastIndexOf(".ndjson"));
117-
this.expected = source.getParent().resolve(name + ".xml");
142+
this.expected = source.getParent().resolve(name + "." + namingStrategyName + ".xml");
143+
this.builder = builder;
144+
this.strategyName = namingStrategyName;
145+
}
146+
147+
MessagesToJunitXmlWriter.Builder getBuilder() {
148+
return builder;
118149
}
119150

120151
@Override
121152
public String toString() {
122-
return name;
153+
return name + " -> " + strategyName;
123154
}
124155

125156
@Override
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)