A melting pot for all kinds of extensions to JUnit 5, particular to its Jupiter API.
A Pioneer's Mission
JUnit Pioneer provides extensions for JUnit 5 and its Jupiter API. It does not limit itself to proven ideas with wide application but is purposely open to experiments. It aims to spin off successful and cohesive portions into sibling projects or back into the JUnit 5 code base.
To enable easy exchange of code with JUnit 5, JUnit Pioneer copies most of its infrastructure, from code style to build tool and configuration to continuous integration.
Getting on Board
<dependency> <groupId>org.junit-pioneer</groupId> <artifactId>junit-pioneer</artifactId> <version><!--...--></version> <scope>test</scope> </dependency>
testCompile group: 'org.junit-pioneer', name: 'junit-pioneer', version: /*...*/
We welcome contributions of all shapes and forms!
- If you have an idea for an extension, open an issue and let's discuss.
- If you want to help but don't know how, have a look at the existing issues, particularly unassigned ones and those marked as up for grabs.
Before contributing, please read the contribution guide.
To not add to user's JAR hell, JUnit Pioneer is not taking on any runtime dependencies besides JUnit 5. Pioneer always depends on the lowest JUnit 5 version that supports its feature set, but that should not keep you from using 5's latest and greatest.
For our own infrastructure, we rely on the following compile and test dependencies:
- JSR-305 (for static analysis)
- AssertJ (assertions for our tests)
- Mockito (mocking for our tests)
- Log4J (to configure logging during test runs)
- Jimfs (as an in-memory file system for our test)
- design code to avoid optionality wherever feasibly possible
- in all remaining cases, prefer