33
44*Date of Release:* ❓
55
6- *Scope:* Sixth milestone release of JUnit 5 with a focus on Java 9 compatibility and
7- additional extension APIs for JUnit Jupiter .
6+ *Scope:* Sixth milestone release of JUnit 5 with a focus on Java 9 compatibility,
7+ validation (e.g. tag syntax rules), and bug fixes .
88
99WARNING: This is a milestone release and contains breaking changes. Please refer to the
1010<<running-tests-ide-intellij-idea,instructions>> above to use this version in a version of
@@ -14,37 +14,40 @@ For a complete list of all _closed_ issues and pull requests for this release, c
1414link:{junit5-repo}+/milestone/11?closed=1+[5.0 M6] milestone page in the JUnit repository
1515on GitHub.
1616
17- ==== Java 9 compatibility
1817
19- The main target of JUnit is Java 8. Therefore, it won't ship with compiled module
20- descriptors. However, since <<release-notes-5.0.0-m5,milestone M5>> each artifact
21- published by JUnit 5 ships with a stable automatic module name declared in the
22- JAR manifest. That allows test module authors to require well-known JUnit module
23- names, like:
18+ [[release-notes-5.0.0-m6-java-9-compatibility]]
19+ ==== Java 9 Compatibility
20+
21+ The main runtime target of JUnit 5 is Java 8. Consequently, JUnit 5 artifacts do not ship
22+ with compiled module descriptors for Java 9. However, since
23+ <<release-notes-5.0.0-m5,milestone M5>> each artifact published by JUnit 5 ships with a
24+ stable `Automatic-Module-Name` declared in its JAR manifest. This allows test module
25+ authors to require well-known JUnit module names as in the following example.
2426
2527```
2628module foo.bar {
2729 requires org.junit.jupiter.api;
2830}
2931```
3032
31- Usually it's sufficient to run tests on the class-path. There's no change between
32- Java 8 and 9. All command line based tools and IDEs continue to work with JUnit 5
33- _out-of-the-box_ -- if they support the JUnit Platform. If your tool of choice
34- does not support JUnit 5 yet, you may always resort to the `ConsoleLauncher` or
35- even to the executable `junit-platform-console-standalone` all-in-one jar.
33+ It is typically sufficient to run tests on the class path: in this regard there are no
34+ changes between Java 8 and 9. All command-line tools and IDEs continue to work with JUnit
35+ 5 _out of the box_ as long as they support the JUnit Platform. If your tool of choice
36+ does not yet support the JUnit Platform, you may always resort to the `ConsoleLauncher`
37+ or even to the executable `junit-platform-console-standalone` all-in-one jar.
38+
39+ Running JUnit Jupiter tests on the module path is implemented by
40+ https://github.com/forax/pro[pro], a Java 9 compatible build tool.
3641
37- Running JUnit Jupiter tests on the module path is implemented by *pro*, a Java 9
38- compatible build tool. It's available at https://github.com/forax/pro
42+ *pro* supports both black-box and white-box testing. The former is used by module surface
43+ tests that only access the exported bits of the application modules. The latter uses a
44+ merged module descriptor technique that allows access to `protected` and package-private
45+ types as well as non-exported packages.
3946
40- *pro* supports black-box and white-box testing. The former is used by module
41- surface tests that only access the exported bits of the application modules.
42- The latter is using a module descriptor merge-technique allowing access to
43- `protected` and package-private types as well as not exported packages.
47+ Consult the https://github.com/forax/pro/tree/master/src/test/java[pro GitHub repository]
48+ for test module examples: `integration.pro` is a black-box test module; whereas,
49+ `com.github.forax.pro.api` and `com.github.forax.pro.helper` are white-box test modules.
4450
45- See https://github.com/forax/pro/tree/master/src/test/java for test module
46- examples: `integration.pro` is a black-box module, `com.github.forax.pro.api`
47- and `com.github.forax.pro.helper` are white-box test modules.
4851
4952[[release-notes-5.0.0-m6-junit-platform]]
5053==== JUnit Platform
0 commit comments