@@ -35,6 +35,23 @@ repository on GitHub.
3535 and
3636 <<../user-guide/index.adoc#launcher-api-managing-state-across-test-engines, request-scoped>>
3737 resources.
38+ * Introduce a mechanism for `TestEngine` implementations to report issues encountered
39+ during test discovery. If an engine reports a `DiscoveryIssue` with a `Severity` equal
40+ to or higher than a configurable critical severity, its tests will not be executed.
41+ Instead, the engine will be reported as failed during execution with a failure message
42+ listing all critical issues. Non-critical issues will be logged but will not prevent the
43+ engine from executing its tests. The critical severity can be configured via a new
44+ configuration parameter and, currently, defaults to `ERROR`. Please refer to the
45+ <<../user-guide/index.adoc#running-tests-discovery-issues, User Guide>> for details.
46+ +
47+ If you're a test engine maintainer, please see the
48+ <<../user-guide/index.adoc#test-engines-discovery-issues, User Guide>> for details on how
49+ to start reporting discovery issues.
50+ * Start reporting discovery issues for problematic `@Suite` classes:
51+ - Invalid `@Suite` class declarations (for example, when `private`)
52+ - Invalid `@BeforeSuite`/`@AfterSuite` method declarations (for example, when not
53+ `static`)
54+ - Cyclic dependencies between `@Suite` classes
3855
3956
4057[[release-notes-5.13.0-M3-junit-jupiter]]
@@ -53,10 +70,21 @@ repository on GitHub.
5370[[release-notes-5.13.0-M3-junit-jupiter-new-features-and-improvements]]
5471==== New Features and Improvements
5572
56- * Return types of `@TestFactory` methods are now validated during discovery rather than
57- during execution. Invalid `@TestFactory` methods are no longer executed but reported as
58- discovery issues for consistency with how `@Test` and `@TestTemplate` methods are
59- handled.
73+ * Start reporting discovery issues for potentially problematic test classes:
74+ - Invalid `@Test` and `@TestTemplate` method declarations (for example, when return
75+ type is not `void`)
76+ - Invalid `@TestFactory` methods (for example, when return type is invalid)
77+ - Multiple method-level annotations (for example, `@Test` and `@TestTemplate`)
78+ - Invalid test class and `@Nested` class declarations (for example, `static` `@Nested`
79+ classes)
80+ - Potentially missing `@Nested` annotations (for example, non-abstract inner classes
81+ that contain test methods)
82+ - Invalid lifecycle method declarations (for example, when `private`)
83+ - Invalid `@Tag` syntax
84+ - Blank `@DisplayName` declarations
85+ - Blank `@SentenceFragment` declarations
86+ - `@BeforeParameterizedClassInvocation` and `@AfterParameterizedClassInvocation`
87+ methods declared in non-parameterized test classes
6088
6189
6290[[release-notes-5.13.0-M3-junit-vintage]]
0 commit comments