-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Third party Extensions
Fr Jeremy Krieg edited this page Oct 23, 2020
·
128 revisions
On this page, the JUnit community collects a list of third-party test engines and extensions.
Feel free to add your own!
- Cucumber
- Drools Scenario
- jqwik
- Kotest
- Mainrunner
- Specsy
- Spek
- Bnd JUnit Platform Tester/Bundle Engine: running JUnit Platform tests in an OSGi environment
- Testngine: running TestNG tests
- Junit Vintage Timeout: run JUnit Vintage (JUnit 4) with per-test-class timeouts
Engine authors may also add a minimal working example to the junit5-multiple-engines project.
- Android JUnit 5: Unit Testing with JUnit 5 for Android
- Junit-Reporter: HTML report plugin for Gradle or CLI.
-
AEM JUnit Jupiter: JUnit Jupiter extension for Adobe Experience Manager that allows one to inject
AemContext
parameters in test methods and ensures that the context is set up and torn down properly. - AWS JUnit Jupiter: JUnit Jupiter extensions that allow to inject AWS SDK clients in test classes.
- BDD JUnit Jupiter: JUnit Jupiter extension to create and run stories and behaviors a.k.a BDD specification tests.
- Apache OpenWebBeans CDI 2 Test Support: use CDI SE API with JUnit 5.
- Apache Meecrowave Test Support: test your CDI/JAX-RS/JSON-P/JSON-B/Microprofile application very easily.
- CDI Test: Testing CDI Beans with JUnit Jupiter.
- Citrus Framework: Enable Citrus related dependency injection and parameter resolving
- classpath-junit-extension: Run tests with a modified classpath
- Database Rider: Adds support for DbUnit in JUnit Jupiter tests
- DbSetup annotations: JUnit Jupiter extension for DbSetup
- Docker: start docker containers before running tests and stop them afterwards
- docker-junit-extension: allow start / stop docker containers before / after a test or reusing them between test executions; support mount resources inside docker containers; allow to run commands inside containers and / or to run containers from inside tests (requires JDK 8+).
- Fakegen: A test library to fill an object graph with random data
- GreenMail: JUnit Jupiter support for GreenMail
- InlineGherkin: JUnit Jupiter extension to write gherkin like specification tests in JUnit test methods.
- Jersey JUnit for testing JAX-RS and Jersey-based applications using the Jersey test framework
- jFairy: Extension for JUnit which provides injection of random data
- JGiven: Behavior-Driven Development in plain Java
- JPA Unit: Enables easy testing of JPA entities with an arbitrary JPA provider
-
JUnit Extensions: JUnit Jupiter equivalents of some of the common JUnit 4 rules:
ExpectedException
,TemporaryFolder
, etc. - junit-json-params: Use JSON as a source in parameterized tests system for performance-testing.
- JUnit Pioneer: JUnit Jupiter extension pack, pushing the frontiers on Jupiter.
- Jupiter Parallel Load Extension - Run JUnit5/Jupiter tests in parallel. This is particularly useful for automated load/stress testing
- Kafka JUnit: For testing with a Kafka broker
- Kafka JUnit: Another library for testing with a Kafka broker
- LogUnit: A Java library for unit-testing logging.
- MicroShed Testing: For writing true-to-production integration tests for JavaEE and MicroProfile applications
- minutest: A Spek-like Kotlin library that separates tests from fixtures and allows both to be defined and manipulated as data.
-
MockitoExtension: Extension that initializes mocks and handles strict stubbings. This extension is the JUnit Jupiter equivalent of Mockito's
MockitoJUnitRunner
for JUnit 4.- Available in the
mockito-junit-jupiter
artifact.
- Available in the
- mockito-rest-spring Mocking external services defined using Swagger/OpenAPI
- MockKExtension: JUnit Jupiter extension for the Mock K mocking library for Kotlin
-
osgi-test: A suite of test utilities for testing code inside an OSGi framework, including a number of Jupiter extensions:
- BundleContextExtension - for automatically rolling back changes to the
BundleContext
made within the test scope; - ServiceExtension - for automatically injecting references to services and releasing them at the end of the test scope.
- ConfigurationExtension - for automatically setting up configurations for a test and for obtaining references to configurations from within a test.
- BundleContextExtension - for automatically rolling back changes to the
- Pact extension: JUnit Jupiter extension for consumer driven contract testing using Pact
- QuickPerf: quickly evaluate some performance properties
- Rerunner-Jupiter: Re-run failed JUnit-Jupiter tests immediately
- rest-assured-extension: use REST-assured in JUnit 5 test cases with simple configuration to test your server APIs
- S3Mock: JUnit Jupiter Extension for running Adobes S3Mock from Unit Tests.
- Scoped System Properties: Easy to use and lock-free way to scope system properties and avoid changing global state
- Samebug: JUnit Jupiter extension for Samebug
- SBT Jupiter Interface: Implementation of SBT's test interface for JUnit Jupiter
-
selenium-jupiter: Extension for Selenium
WebDriver
(also compatible with Appium) -
SpringExtension
for JUnit Jupiter support in the Spring Framework- Official SpringExtension in Spring Framework 5.x
- Unofficial SpringExtension for use with Spring Framework 4.3.x
-
System.exit(): Test code that calls
System.exit()
- Togglz: Feature Flags for the Java platform
-
Unroll Extension for Kotlin: provide Spock-like
where
and@Unroll
support for Kotlin - upREST: Verify your REST services
- Wiremock: Inject ready-to-use wiremock server in test methods
- wiremock-extension: use WireMock in JUnit 5 by annotating test classes and fields (also supports mocking multiple servers and custom configuration)
- wiremock-junit-jupiter: Junit Jupiter minimalistic extension to automatically start and inject Wiremock servers with a single annotation @Wiremock 😎
- XWiki Component Mocking: JUnit Jupiter extension to automatically inject mock components for @Inject fields, and more. See also the source code.
- Capture System.out and System.err: Capture System.out and System.err outputs in tests.
- Talend Component Kit: test your Studio or Pipeline Designer components/connectors with JUnit 5!
- DbRaccoon🦝: A JUnit5 extension to make the test data setup easier.
- grpc-test: Includes a JUnit 5 Extension that can automatically release gRPC resources at the end of the test.
- coroutines-test: Includes a JUnit 5 Extension that can dump coroutines on timeout.
- json-snapshot: A way to implement snapshot testing for POJOs in a similar way to Jest, but compatible with JUnit.