@Override
    public void beforeAll(ExtensionContext context) {
        validatePerMethodLifecycle(context);

        ReportModel reportModel = new ReportModel();
        reportModel.setTestClass(context.getTestClass().orElseThrow());
        if (!context.getDisplayName().equals(context.getTestClass().orElseThrow().getSimpleName())) {
            reportModel.setName(context.getDisplayName());
        }
        context.getStore(NAMESPACE).put(REPORT_MODEL, reportModel);

        AbstractJGivenConfiguration configuration = ConfigurationUtil.getConfiguration(context.getTestClass().get());
        if (configuration.getTagConfiguration(Tag.class) == null) {
            configuration.configureTag(Tag.class)
                .description("JUnit 5 Tag")
                .color("orange");
        }
    }
This extension enables JGiven for JUnit 5 Tests.
<p>
Just annotate your test class with {@code @ExtendWith( JGivenExtension.class )}
<p>
You can then inject stage classes by using the {@see ScenarioStage} annotation
<p>
As an alternative you can also inherit from one of the following predefined base classes:
<ul>
    <li>{@link ScenarioTest}</li>
    <li>{@link SimpleScenarioTest}</li>
</ul>

@see ScenarioTest
@see SimpleScenarioTest
jgiven-junit5/src/main/java/com/tngtech/jgiven/junit5/JGivenExtension.java