mpkorstanje / junit-platform-suite-demo

Demo of junit-platform-suite and cucumber

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JUnit Platform Suite Demo

Usage:

  • git clone https://github.com/mpkorstanje/junit-platform-suite-demo
  • Run RunSuiteTest in IDEA

Why?

The junit-platform-suite-engine is a test engine that uses the JUnit Platform Launcher to run suites of tests. This can be useful. For example when running Cucumber.

Where previously you would have to create and run the launcher manually:

public class RunCucumberTest {

    public static void main(String[] args) {
        Launcher launcher = LauncherFactory.create();

        LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
                .filters(EngineFilter.includeEngines("cucumber"))
                .selectors(DiscoverySelectors.selectClasspathResource("io/cucumber/skeleton"))
                .configurationParameter(GLUE_PROPERTY_NAME, "io.cucumber.skeleton")
                .build();

        launcher.execute(request);
    }
}

By using annotations the JUnit platform will execute the test for you:

@Suite
@IncludeEngines("cucumber")
@SelectClasspathResource("io/cucumber/skeleton")
@Configuration(key = GLUE_PROPERTY_NAME, value = "io.cucumber.skeleton")
public class RunCucumberTest {
}

Suites also work with multiple engines at the same time:

@Suite
@SelectClasses(JupiterTest.class) // This selector is picked up by Jupiter
@SelectClasspathResource("io/cucumber/skeleton") // This selector is picked up by Cucumber
public class RunSuiteTest {

}

About

Demo of junit-platform-suite and cucumber

License:MIT License


Languages

Language:Java 92.7%Language:Gherkin 7.3%