Java Testing

Open-source Java projects categorized as Testing

Top 23 Java Testing Projects

  1. Selenium WebDriver

    A browser automation framework and ecosystem.

    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.

  2. 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.

    InfluxDB logo
  3. Mockito

    Most popular Mocking framework for unit tests written in Java

  4. Apache JMeter

    Apache JMeter open-source load testing tool for analyzing and measuring the performance of a variety of services

    Project mention: Quais as melhores ferramentas para trabalhar com Node? | dev.to | 2025-04-30
  5. Karate

    Test Automation Made Simple

    Project mention: 🚀 10 Best Free API Testing Tools You Should Use in 2025 | dev.to | 2025-03-18

    📌 GitHub Repo: https://github.com/karatelabs/karate

  6. JUnit

    A programmer-oriented testing framework for Java.

  7. 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.

    Project mention: One Container to Rule Them All - Until It Doesn’t | dev.to | 2025-03-11

    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:

  8. REST Assured

    Java DSL for easy testing of REST services

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. WireMock

    A tool for mocking HTTP services

    Project mention: The best way for testing outbound API calls | dev.to | 2025-02-06

    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.

  11. Java Faker

    Brings the popular ruby faker gem to Java

  12. 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-13

    There are several strategies to solve this kind of challenge, but today we will see MockServer as a tool to resolve it.

  13. Moco

    Easy Setup Stub Server

  14. PowerMock

    PowerMock is a Java framework that allows you to unit test code normally regarded as untestable.

  15. Awaitility

    Awaitility is a small Java DSL for synchronizing asynchronous operations

    Project mention: Testing MongoDB Atlas Search Java Apps Using TestContainers | dev.to | 2025-04-24

    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.

  16. Spock

    The Enterprise-ready testing and specification framework.

    Project mention: Top 10 Java Testing Tools Every Developer Should Know | dev.to | 2024-11-12

    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.

  17. ArchUnit

    A Java architecture test library, to specify and assert architecture rules in plain Java

    Project mention: ArchUnit: Garantindo a Integridade Arquitetural de Aplicações Java | dev.to | 2025-04-22

    Repositório GitHub

  18. Jailer

    Database Subsetting and Relational Data Browsing Tool.

    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/

  19. Truth

    Fluent assertions for Java and Android

  20. Cucumber

    Cucumber for the JVM

    Project mention: Strategies to simplify your BDD step definitions | dev.to | 2024-11-08

    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.

  21. AssertJ

    AssertJ is a library providing easy to use rich typed assertions

  22. Hamcrest

    Java (and original) version of Hamcrest

  23. TestNG

    TestNG testing framework

    Project mention: Five Advanced Techniques to Improve Automated Testing by 50% | dev.to | 2025-01-04

    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.

  24. Selenide

    Concise UI Tests with Java!

    Project mention: Top 10 Java Testing Tools Every Developer Should Know | dev.to | 2024-11-12

    Built on top of Selenium, Selenide offers concise, stable UI tests, particularly effective for asynchronous or dynamically loaded content.

  25. PIT

    State of the art mutation testing system for the JVM

    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

  26. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Java Testing discussion

Log in or Post with

Java Testing related posts

  • How to Navigate with Selenium Using a Default Chrome Profile?

    1 project | dev.to | 11 May 2025
  • 3 Types of Chaos Experiments and How To Run Them

    6 projects | dev.to | 24 Apr 2025
  • Testing MongoDB Atlas Search Java Apps Using TestContainers

    5 projects | dev.to | 24 Apr 2025
  • ArchUnit: Garantindo a Integridade Arquitetural de Aplicações Java

    2 projects | dev.to | 22 Apr 2025
  • ServiceNow API: The Complete Integration Guide

    2 projects | dev.to | 14 Apr 2025
  • Java Virtual Threads in Action: Optimizing MongoDB Operation

    3 projects | dev.to | 3 Apr 2025
  • 🍃Are You Making These Mistakes in Spring Boot Testing? Best Practices You Need to Know! 🍃

    3 projects | dev.to | 2 Apr 2025
  • A note from our sponsor - SaaSHub
    www.saashub.com | 13 May 2025
    SaaSHub helps you find the best software and product alternatives Learn more →

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

Sponsored
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.
www.influxdata.com

Did you know that Java is
the 8th most popular programming language
based on number of references?