cucumber-jvm icon indicating copy to clipboard operation
cucumber-jvm copied to clipboard

Architecture diagram for Cucumber JUnit Platform Engine

Open mpkorstanje opened this issue 1 year ago • 0 comments

🤔 What's the problem you've observed?

When using Gradle/Maven with Cucumber and JUnit 5 we have a few layers of framework.

Maven Surefire -> JUnit Platform -> Jupiter Engine
Maven Surefire -> JUnit Platform -> Cucumber Engine -> Cucumber
Maven Surefire -> JUnit Platform -> Suite Engine -> Cucumber Engine -> Cucumber

Understanding this is important when it comes to the behavior of cucumber.features and the relevance of -Dsurefire.includeJUnit5Engines=cucumber and -Dsurefire.includeJUnit5Engines=junit-platform-suite.

Currently this leads of questions such as:

  • I'm using cucumber.features, why are my tests executed twice
  • The configuration from my suite is not included when using cucumber.features.
  • Why should cucumber.features not be used in combination with @Suite
  • Why is the Suite engine used as a workaround for Maven and Gradle

✨ Do you have a proposal for making it better?

Create a Mermaid diagram with the architecture. Then try to add information that references this diagram to clarify the questions above.

📚 Any additional context?

No response

mpkorstanje avatar Jun 29 '24 23:06 mpkorstanje