Skip to content
 
 

Latest commit

 

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Full Overview of 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 is MicroShed Testing, which is part of the jakarta-ee-example project.

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

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 of each 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 (upcoming)

Assertion Libraries

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

Mocking Frameworks

  • Mockito
  • WireMock
  • MockWebServer
  • PowerMock

Test Infrastructure

  • Testcontainers
  • LocalStack
  • MicroShed Testing (upcoming)
  • Citrus
  • GreenMail
  • Selenium

Utility Libraries

  • Selenide
  • Pact
  • Spring Cloud Contract
  • Diffblue
  • FitNesse
  • Awaitility

Performance Testing

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

About

🔧 Testing Tools & Libraries Every Java Developer Must Know

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages