Posting this to gauge the interest in adding JUnit 5 as a test dependency to JavaFX, enabling writing tests with this new version of JUnit while still supporting all JUnit 4 tests.

A draft PR has been submitted here: https://github.com/openjdk/jfx/pull/633

And an issue has been filed here: https://bugs.openjdk.java.net/browse/JDK-8274274

Although very personally motivated to be able to write nested unit tests in future JavaFX pull requests, I think this would be a great addition to have in our testing arsenal.

The main benefits of using JUnit 5:

Better integration with Java 8, specifically use of Lambda functions where this would make sense. For example `assertThrows` is really useful and can replace the `expected` parameter in the Test annotation (although this has also been backported to recent JUnit 4 versions).

Support for better organization of tests (using Nested) and better naming. See this image to see Nested and naming in action: https://user-images.githubusercontent.com/995917/111858133-d6ce0f80-8936-11eb-9724-be2c15150590.png

Better extension system allowing to combine extensions whereas JUnit 4 only allowed one extension at a time.

Native support for parameterized tests, repeated tests, nested tests, conditional test execution (by platform or environment for example), assumptions, test generation and timeouts.

Please let us know if you'd like to see a newer version of JUnit included in JavaFX to further ease testing :)

--John



Reply via email to