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 final release (30/30) is scheduled for Q1 2024.
Grab your copy here.
- 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
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
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.
- JUnit 4
- JUnit 5
- TestNG
- Spock
- ...
- AssertJ
- JsonPath
- Hamcrest
- XMLUnit
- JSONAssert
- REST Assured
- ...
- Mockito
- WireMock
- MockWebServer
- PowerMock
- ...
- Testcontainers
- LocalStack
- MicroShed Testing
- Citrus
- GreenMail
- Selenium
- ...
- Selenide
- Pact (upcoming)
- Spring Cloud Contract (upcoming)
- Diffblue
- FitNesse
- Awaitility (upcoming)
- ...
- JMH (upcoming)
- JMeter (upcoming)
- Gatling
- Quick Perf
- ApacheBench
- ...