Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
16ff13b
Add note duplicate test execution with @Suite
mpkorstanje Oct 21, 2025
c0a8776
Update pointers and commands in readme
mpkorstanje Oct 21, 2025
8546b97
Extract and update note to independent section
mpkorstanje Oct 21, 2025
6f2dacd
Update Suite annotation to match
mpkorstanje Oct 21, 2025
f74202e
Update Suite annotation to match
mpkorstanje Oct 21, 2025
36365a3
Merge remote-tracking branch 'origin/main' into rien/junit-platform-s…
mpkorstanje Oct 30, 2025
890a5b7
Update documentation/src/docs/asciidoc/user-guide/advanced-topics/jun…
mpkorstanje Oct 30, 2025
c3a88d0
Draft diagrams
mpkorstanje Oct 30, 2025
fcd8f7e
Rework, rewrite, revise
mpkorstanje Oct 30, 2025
5e02295
Remove ellipsis, spell Jupiter correctly
mpkorstanje Oct 30, 2025
b822014
Rework, rewrite, revise
mpkorstanje Oct 30, 2025
4df8e81
Rename diagrams to match header ids
mpkorstanje Oct 30, 2025
aa2d097
Update documentation/src/docs/asciidoc/user-guide/advanced-topics/jun…
mpkorstanje Oct 31, 2025
bef798d
Update documentation/src/docs/asciidoc/user-guide/advanced-topics/jun…
mpkorstanje Oct 31, 2025
ed4a741
Update documentation/src/plantuml/launcher-api-diagram.puml
mpkorstanje Oct 31, 2025
05fb4fd
Update documentation/src/docs/asciidoc/user-guide/advanced-topics/lau…
mpkorstanje Oct 31, 2025
c132c99
Update documentation/src/docs/asciidoc/user-guide/advanced-topics/jun…
mpkorstanje Oct 31, 2025
970d710
Update junit-platform-suite-api/src/main/java/org/junit/platform/suit…
mpkorstanje Oct 31, 2025
da41307
Merge paragraphs
mpkorstanje Oct 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,8 @@ To deprecate an item:

## Building the Project

Please refer to [the readme](README.md#building-from-source) for the most common
build commands.
Please refer to [the readme](README.md#building-from-source) and [the documentation readme](documentation/README.md) for
the most common build commands.

### Build Cache

Expand Down
4 changes: 2 additions & 2 deletions documentation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This following Gradle command generates the HTML version of the User Guide as
`build/docs/asciidoc/user-guide/index.html`.

```
gradlew asciidoctor
./gradlew asciidoctor
```

On Linux operating systems, the `graphviz` package providing `/usr/bin/dot` must be
Expand All @@ -30,5 +30,5 @@ This following Gradle command generates the PDF version of the User Guide to
`build/docs/asciidocPdf/user-guide/index.pdf`.

```
gradlew asciidoctorPdf
./gradlew asciidoctorPdf
```
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[[junit-platform-suite-engine]]
=== JUnit Platform Suite Engine

The JUnit Platform supports the declarative definition and execution of suites of tests
from _any_ test engine using the JUnit Platform.
The Suite Engine supports the declarative selection and execution of tests from
_any_ test engine using the JUnit Platform.

[[junit-platform-suite-engine-setup]]
==== Setup
Expand Down Expand Up @@ -31,6 +31,18 @@ on `junit-platform-suite-api` and `junit-platform-suite-engine`.
* `junit-platform-commons` in _test_ scope
* `opentest4j` in _test_ scope

[[junit-platform-suite-engine-setup-duplicate-test-execution]]
===== Duplicate test execution

Tests in a suite are executed in addition to the tests executed by every other test
engine. This can result in the same tests being executed twice.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add sth. like the following?

Moreover, different suites may contain the same tests, potentially with different setups.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it is time to add a drawing or two. I'll come back to that. Something along the lines of:

https://github.com/cucumber/cucumber-jvm/tree/main/cucumber-junit-platform-engine#suites-with-different-configurations

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 👍

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mpkorstanje Do you have time to add the drawing for 6.0.1 or should we move this PR to 6.1.0-M1?

Copy link
Contributor Author

@mpkorstanje mpkorstanje Oct 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've moved it to 6.1.0-M1. We don't have to rush this one. It's not a bug.

Copy link
Contributor Author

@mpkorstanje mpkorstanje Oct 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add sth. like the following?

Done.


This can be prevented by configuring your build tool to only include the
`junit-platform-suite` engine. Or by using a naming pattern. For example name all suites
`*Suite` and all tests `*Test` and configure your build tool to only include the former.

Alternatively, consider <<running-tests-tags, using tags>> to select specific groups of tests.

[[junit-platform-suite-engine-example]]
==== @Suite Example

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
* {@code @Suite} marks a class as a test suite on the JUnit Platform.
*
* <p>Selector and filter annotations are used to control the contents of the
* suite. Additionally configuration can be passed to the suite via the
* suite. Additionally, configuration can be passed to the suite via the
* configuration annotations.
*
* <p>When the {@link IncludeClassNamePatterns @IncludeClassNamePatterns}
Expand All @@ -44,6 +44,13 @@
* annotation disables the latter as a source of parameters so that only explicit
* configuration parameters are taken into account.
*
* <p>Note: Tests in a suite are executed in addition to the tests executed by every
* other test engine. This can result in the same tests being executed twice. This can be
* prevented by configuring your build tool to only include the Suite Engine. Or by
* using a naming pattern. For example name all suites {@code *Suite} and all tests
* {@code *Test} and configure your build tool to only include the former. Alternatively,
* consider using tags to select specific groups of tests.
*
* @since 1.8
* @see Select
* @see SelectClasses
Expand Down
Loading