From dd4e501913e23100827bff425a467f1334692470 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Thu, 1 Nov 2018 21:23:33 +0300 Subject: [PATCH] add test for dry run --- .../cucumber3jvm/AllureCucumber3JvmTest.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/allure-cucumber3-jvm/src/test/java/io/qameta/allure/cucumber3jvm/AllureCucumber3JvmTest.java b/allure-cucumber3-jvm/src/test/java/io/qameta/allure/cucumber3jvm/AllureCucumber3JvmTest.java index 5bdb16286..8948f6a16 100644 --- a/allure-cucumber3-jvm/src/test/java/io/qameta/allure/cucumber3jvm/AllureCucumber3JvmTest.java +++ b/allure-cucumber3-jvm/src/test/java/io/qameta/allure/cucumber3jvm/AllureCucumber3JvmTest.java @@ -33,6 +33,7 @@ import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.time.Instant; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -337,18 +338,34 @@ void shouldProcessNotImplementedScenario() throws IOException { .containsExactlyInAnyOrder((Status) null); } + @Test + void shouldSupportDryRun() throws IOException { + final AllureResultsWriterStub writer = new AllureResultsWriterStub(); + runFeature(writer, "features/simple.feature", "--dry-run"); + + final List testResults = writer.getTestResults(); + assertThat(testResults) + .extracting(TestResult::getName, TestResult::getStatus) + .containsExactlyInAnyOrder( + tuple("Add a to b", Status.SKIPPED) + ); + } + private void runFeature(final AllureResultsWriterStub writer, - final String featureResource) throws IOException { + final String featureResource, + final String... moreOptions) throws IOException { final AllureLifecycle lifecycle = new AllureLifecycle(writer); final AllureCucumber3Jvm cucumber3Jvm = new AllureCucumber3Jvm(lifecycle); final ClassLoader classLoader = currentThread().getContextClassLoader(); final ResourceLoader resourceLoader = new MultiLoader(classLoader); final ClassFinder classFinder = new ResourceLoaderClassFinder(resourceLoader, classLoader); - final RuntimeOptions options = new RuntimeOptions(Arrays.asList( + final List opts = new ArrayList<>(Arrays.asList( "--glue", "io.qameta.allure.cucumber3jvm.samples", "--plugin", "null" )); + opts.addAll(Arrays.asList(moreOptions)); + final RuntimeOptions options = new RuntimeOptions(opts); final Runtime runtime = new Runtime(resourceLoader, classFinder, classLoader, options); options.addPlugin(cucumber3Jvm);