The Wayback Machine - https://web.archive.org/web/20221120233245/https://github.com/rieckpil/java-testing-ecosystem
Skip to content

rieckpil/java-testing-ecosystem

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

Hands-On Introduction to the Java Testing Ecosystem

Maven Build

 Book Cover

This repository contains the source code for the book 30 Testing Tools & Libraries Every Java Developer Must Know.

You can find the source code for the various testing tools & libraries within spring-boot-example/src/test/java/de/rieckpil/blog. Each tool & library has its dedicated Java package.

The only exception to this rule is MicroShed Testing, which is part of the jakarta-ee-example project.

Current Status: 20/30 tools and libraries are covered. The next release (25/30) is scheduled for 2022.

Grab your copy here.

Goals of the Book

  • Enrich your existing testing toolbox
  • Use the right tool for the job
  • Inform about various tools & libraries of the Java testing ecosystem
  • Cookbook-style introduction for each testing tool & library
  • Hands-on testing examples that apply for testing any Java application

Build & Test

Requirements:

  • Java 11: java -version
  • A running Docker engine (required for Testcontainers): docker info

Build the project and run all tests with:

cd spring-boot-example
./mvnw verify

cd jakarta-ee-example
./mvnw verify

Content

The book uses a Spring Boot and Jakarta EE application to demonstrate the different tools & libraries. Both sample applications only use a minimal subset of Spring Boot/Jakarta EE features so that you can easily apply the knowledge to your tech stack.

Test Frameworks

  • JUnit 4
  • JUnit 5
  • TestNG
  • Spock
  • ...

Assertion Libraries

  • AssertJ
  • JsonPath
  • Hamcrest
  • XMLUnit
  • JSONAssert
  • REST Assured
  • ...

Mocking Frameworks

  • Mockito
  • WireMock
  • MockWebServer
  • PowerMock
  • ...

Test Infrastructure

  • Testcontainers
  • LocalStack
  • MicroShed Testing
  • Citrus
  • GreenMail
  • Selenium
  • ...

Utility Libraries

  • Selenide
  • Pact (upcoming)
  • Spring Cloud Contract (upcoming)
  • Diffblue
  • FitNesse
  • Awaitility (upcoming)
  • ...

Performance Testing

  • JMH (upcoming)
  • JMeter (upcoming)
  • Gatling
  • Quick Perf
  • ApacheBench
  • ...