Java Testing

Open-source Java projects categorized as Testing

Top 23 Java Testing Projects

  • GitHub repo Selenium WebDriver

    A browser automation framework and ecosystem.

    Project mention: How would I go about creating a web scraper that returns info from the browser's console? | reddit.com/r/rails | 2021-04-07

    This should be doable with Selenium

  • GitHub repo Mockito

    Most popular Mocking framework for unit tests written in Java

    Project mention: Can we please stop downvoting people who dislike Rust? | reddit.com/r/rust | 2021-04-08

    A lot of that magic on the JVM (Mockito / Spring Boot) relies on proxy objects that intercept method calls, and operate on them in a non-typesafe manner (working on Object[] args, and returning Object). When you use them, it looks type-safe, but under the hood it's all dynamic. Here is an example in Mockito: https://github.com/mockito/mockito/blob/ea000f72444ed4c7e409441aedc3021951b89660/src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodInterceptor.java#L59.

  • GitHub repo JUnit

    A programmer-oriented testing framework for Java.

  • GitHub repo REST Assured

    Java DSL for easy testing of REST services

    Project mention: Contract-First Development Using RestAssured and OpenAPI | dev.to | 2021-04-09

    In this post, we will demonstrate how can OpenAPI be used in a RestAssured-based integration test to ensure that the API conforms to its specification.

  • GitHub repo Apache JMeter

    Apache JMeter

  • GitHub repo 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.

  • GitHub repo Karate

    Test Automation Made Simple

    Project mention: Best frameworks for end to end testing (Java)? | reddit.com/r/AskProgramming | 2021-03-17

    I can offer this - I use Karate (https://github.com/intuit/karate) to perform tests against the REST API in an ordered way, if necessary, such that the running backend (usually in an EC2 instance) can receive those requests in such an order that I can test end-to-end a whole process. The issue may be DB cleanup later (you may want to configure a script to restore a backed up version)

  • GitHub repo WireMock

    A tool for mocking HTTP services

  • GitHub repo Moco

    Easy Setup Stub Server

  • GitHub repo PowerMock

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

  • GitHub repo Cucumber

    Cucumber monorepo - building blocks for Cucumber in various languages

  • GitHub repo 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).

  • GitHub repo Spock

    The Enterprise-ready testing and specification framework.

    Project mention: Gradle 7.0 Released | reddit.com/r/java | 2021-04-09
  • GitHub repo Awaitility

    Awaitility is a small Java DSL for synchronizing asynchronous operations

    Project mention: Managing Cluster Membership with Etcd | dev.to | 2021-03-31

    Given our new functionality to update the membership list, we can create a new test case where two nodes join the cluster and expect that to be reflected in the local state of each node eventually. Thanks to the Awaitility DSL we can conveniently wait for the eventual update to happen.

  • GitHub repo Java Faker

    Brings the popular ruby faker gem to Java

    Project mention: Test Data Factory: Why and How to Use | dev.to | 2021-01-04

    For that I will introduce you JavaFaker, a is a library that can generate fake random data every time it’s called. For example: if you generate a name all the names generated will be different.

  • GitHub repo Zalenium

    A flexible and scalable container based Selenium Grid with video recording, live preview, basic auth & dashboard.

  • GitHub repo Cucumber

    Cucumber for the JVM

  • GitHub repo Truth

    Fluent assertions for Java and Android

  • GitHub repo AssertJ

    AssertJ is a library providing easy to use rich typed assertions

    Project mention: Are you seriously not using Java 15 yet? | dev.to | 2021-02-10

    It is also reminiscent of a feature of the AssertJ testing library.

  • GitHub repo Hamcrest

    Java (and original) version of Hamcrest

  • GitHub repo ArchUnit

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

    Project mention: ArchUnit | dev.to | 2021-01-20

    JUnit 4

  • GitHub repo TestNG

    TestNG testing framework

  • GitHub repo Galen

    Layout and functional testing framework for websites

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). The latest post mention was on 2021-04-09.

Index

What are some of the best open-source Testing projects in Java? This list will help you:

Project Stars
1 Selenium WebDriver 20,498
2 Mockito 11,678
3 JUnit 8,102
4 REST Assured 5,269
5 Apache JMeter 5,119
6 TestContainers 4,763
7 Karate 4,664
8 WireMock 4,367
9 Moco 3,619
10 PowerMock 3,467
11 Cucumber 3,194
12 MockServer 3,138
13 Spock 2,840
14 Awaitility 2,539
15 Java Faker 2,511
16 Zalenium 2,333
17 Cucumber 2,253
18 Truth 2,243
19 AssertJ 1,937
20 Hamcrest 1,864
21 ArchUnit 1,687
22 TestNG 1,608
23 Galen 1,397