SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Java Testing Projects
-
Project mention: How to Navigate with Selenium Using a Default Chrome Profile? | dev.to | 2025-05-11
Check the official Selenium GitHub page for the latest version.
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
Apache JMeter
Apache JMeter open-source load testing tool for analyzing and measuring the performance of a variety of services
-
📌 GitHub Repo: https://github.com/karatelabs/karate
-
-
Testcontainers
Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
There are a handful of ways to start Testcontainers, including JUnit4 annotations, JUnit5 annotations, ApplicationContextInitializer, JDBC URL scheme, and manual container lifecycle control. Let's choose manual control for now as the least "magic" option:
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
mocha is a lib inspired by nock and WireMock. It allows checking if the mock was called or not, which is a nice feature. Like httptest, it also it don't automatically intercept the requests.
-
-
MockServer
MockServer enables easy mocking of any system you integrate with via HTTP or HTTPS with clients written in Java, JavaScript and Ruby. MockServer also includes a proxy that introspects all proxied traffic including encrypted SSL traffic and supports Port Forwarding, Web Proxying (i.e. HTTP proxy), HTTPS Tunneling Proxying (using HTTP CONNECT) and SOCKS Proxying (i.e. dynamic port forwarding).
Project mention: MockServer: Easy mocking of any system you integrate (HTTP or HTTPS) | dev.to | 2024-10-13There are several strategies to solve this kind of challenge, but today we will see MockServer as a tool to resolve it.
-
-
PowerMock
PowerMock is a Java framework that allows you to unit test code normally regarded as untestable.
-
We also used the nice awaitility library to await the READY status on the MongoDB Atlas Search index. This is important because you can’t use the index until it has fully indexed all the data. In this case, we are inserting the data first and then adding the index, so once it is READY, we can be sure all the data can be searched.
-
Spock is a framework that uses Groovy syntax for expressive, readable tests. It excels in data-driven testing, making it efficient for testing multiple input data sets.
-
Project mention: ArchUnit: Garantindo a Integridade Arquitetural de Aplicações Java | dev.to | 2025-04-22
Repositório GitHub
-
Project mention: Effortless Database Subsetting with Jailer: A Must-Have Tool for QA and DevOps | news.ycombinator.com | 2025-05-13
- Official Docs: https://wisser.github.io/Jailer/
-
-
There is some debate on whether the regular method form or the lambda one is better. There are both personal preferences and practical arguments (e.g. dependency injection) put on the table, and there has even been some discussion on replacing Cucumber’s Java8 library with an alternative solution.
-
-
-
However, you must note that over-parallelization can cause resource contention and performance issues, so monitor it. Use tools like pytest-monitor, TestNG, and Appium to find your optimal parallel execution configuration.
-
Built on top of Selenium, Selenide offers concise, stable UI tests, particularly effective for asynchronous or dynamically loaded content.
-
Project mention: Year After Switching from Java to Go: Our Experiences | news.ycombinator.com | 2025-02-18
I think most of the tools on the second line are not highly applicable to a Kubernetes operator, or otherwise would just use the "Cloud Native way of doing things".
Something like JRebel would generally be a big no-no for Kubernetes, where the container image of the operator is expected be immutable (at least in terms of the code running in there). It may or may not be okay for developing an operator, but that's certainly venturing into a bit of an unknown territory.
VM agents and JMX are usually replaced by explicitly adding Open Telemetry support and/or a Prometheus endpoint. It's certainly more boilerplate and manual work, but so many more things are explicit in Go, that's just something you've got to buy into. If you're using Rust or Typescript this could be a lot more automated but that's not the case for Go.
Advanced profiling is probably something you'd have to give up, but I doubt a Spring shop would be deeply into profiling. The low hanging fruit is to just throw away spring and get an immediate 200%-400% performance boost.
But the JVM is still a more mature platform. Throughput is better on the JVM than on Go and some things are very troublesome in Go (basically anything that requires code generation).
My personal "cool tool" that I can run on the JVM but doesn't have a mature equivalent in Go is PIT[1] for mutation testing. But not everybody will be using mutation testing, just like not everybody will be using JRebel or JMX. And it doesn't mean everybody should. If you're a Spring a shop the thing you'll be probably missing most in Go would be things like Dependency Injection, Java-like ORMs, reflection magic and Spring Configuration Server.
[1] https://github.com/hcoles/pitest
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Java Testing discussion
Java Testing related posts
-
How to Navigate with Selenium Using a Default Chrome Profile?
-
3 Types of Chaos Experiments and How To Run Them
-
Testing MongoDB Atlas Search Java Apps Using TestContainers
-
ArchUnit: Garantindo a Integridade Arquitetural de Aplicações Java
-
ServiceNow API: The Complete Integration Guide
-
Java Virtual Threads in Action: Optimizing MongoDB Operation
-
🍃Are You Making These Mistakes in Spring Boot Testing? Best Practices You Need to Know! 🍃
-
A note from our sponsor - SaaSHub
www.saashub.com | 13 May 2025
Index
What are some of the best open-source Testing projects in Java? This list will help you:
# | Project | Stars |
---|---|---|
1 | Selenium WebDriver | 32,261 |
2 | Mockito | 15,139 |
3 | Apache JMeter | 8,760 |
4 | Karate | 8,541 |
5 | JUnit | 8,528 |
6 | Testcontainers | 8,212 |
7 | REST Assured | 6,963 |
8 | WireMock | 6,774 |
9 | Java Faker | 4,857 |
10 | MockServer | 4,720 |
11 | Moco | 4,401 |
12 | PowerMock | 4,182 |
13 | Awaitility | 3,914 |
14 | Spock | 3,590 |
15 | ArchUnit | 3,394 |
16 | Jailer | 2,990 |
17 | Truth | 2,750 |
18 | Cucumber | 2,743 |
19 | AssertJ | 2,696 |
20 | Hamcrest | 2,124 |
21 | TestNG | 2,022 |
22 | Selenide | 1,877 |
23 | PIT | 1,738 |