@@ -35,6 +35,23 @@ repository on GitHub.
35
35
and
36
36
<<../user-guide/index.adoc#launcher-api-managing-state-across-test-engines, request-scoped>>
37
37
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
38
55
39
56
40
57
[[release-notes-5.13.0-M3-junit-jupiter]]
@@ -53,10 +70,21 @@ repository on GitHub.
53
70
[[release-notes-5.13.0-M3-junit-jupiter-new-features-and-improvements]]
54
71
==== New Features and Improvements
55
72
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
60
88
61
89
62
90
[[release-notes-5.13.0-M3-junit-vintage]]
0 commit comments