Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rieckpil/java-testing-toolbox
:wrench: Testing Tools & Libraries Every Java Developer Must Know
https://github.com/rieckpil/java-testing-toolbox
assertj awaitility gatling greenmail hamcrest java jmeter jsonpath junit4 junit5 mockito pact rest-assured selenide selenium spock testcontainers testing wiremock xmlunit
Last synced: 11 days ago
JSON representation
:wrench: Testing Tools & Libraries Every Java Developer Must Know
- Host: GitHub
- URL: https://github.com/rieckpil/java-testing-toolbox
- Owner: rieckpil
- License: mit
- Created: 2021-03-04T12:34:48.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-10T03:22:28.000Z (10 months ago)
- Last Synced: 2024-10-11T16:11:30.410Z (27 days ago)
- Topics: assertj, awaitility, gatling, greenmail, hamcrest, java, jmeter, jsonpath, junit4, junit5, mockito, pact, rest-assured, selenide, selenium, spock, testcontainers, testing, wiremock, xmlunit
- Language: Java
- Homepage: https://rieckpil.de/testing-tools-and-libraries-every-java-developer-must-know/
- Size: 679 KB
- Stars: 63
- Watchers: 8
- Forks: 31
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hands-On Introduction to the Java Testing Ecosystem
[![Maven Build](https://github.com/rieckpil/java-testing-ecosystem/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/rieckpil/java-testing-ecosystem/actions/workflows/build.yml)
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](https://rieckpil.de/testing-tools-and-libraries-every-java-developer-must-know/).
## 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:
```shell
cd spring-boot-example
./mvnw verifycd 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
- [x] JUnit 4
- [x] JUnit 5
- [x] TestNG
- [x] Spock
- [ ] ...### Assertion Libraries
- [x] AssertJ
- [x] JsonPath
- [x] Hamcrest
- [x] XMLUnit
- [x] JSONAssert
- [x] REST Assured
- [ ] ...### Mocking Frameworks
- [x] Mockito
- [x] WireMock
- [x] MockWebServer
- [ ] PowerMock
- [ ] ...### Test Infrastructure
- [x] Testcontainers
- [x] LocalStack
- [x] MicroShed Testing
- [ ] Citrus
- [x] GreenMail
- [ ] Selenium
- [ ] ...### Utility Libraries
- [x] Selenide
- [ ] Pact (upcoming)
- [ ] Spring Cloud Contract (upcoming)
- [ ] Diffblue
- [ ] FitNesse
- [ ] Awaitility (upcoming)
- [ ] ...### Performance Testing
- [ ] JMH (upcoming)
- [ ] JMeter (upcoming)
- [x] Gatling
- [ ] Quick Perf
- [x] ApacheBench
- [ ] ...