Skip to content
 
 

Latest commit

 

History

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

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
  • Running Docker engine (required for Testcontainers)

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. Only some code examples use a minimal amount of Spring Boot or Jakarta EE specifics so that you can easily apply the learnings 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 (upcoming)
  • Citrus
  • GreenMail
  • Selenium (upcoming)

Utility Libraries

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

Performance Testing

  • JMH
  • JMeter
  • Gatling
  • Quick Perf

About

🔧 Testing Tools & Libraries Every Java Developer Must Know

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages