d7497c8ab110b40ad1587cdefd02c453c716a9ce
Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b7Jbw5CxUQ13D7gn25
assertj: AssertJ 3.27.7 lab (soft assertions, recursive comparison, custom and generated assertions)
java-testing-lab
Runnable companion code for the testing posts on ankurm.com.
| Module | Post | Stack |
|---|---|---|
mockito/ |
Mockito 5 Deep Dive: Static, Final and Constructor Mocking, ArgumentCaptor and Strict Stubs | Mockito 5.24.0, JUnit 6.1.3, JDK 25 |
junit-6-migration/ |
JUnit 5 to 6 Migration: What Was Removed, What Changed and How to Upgrade | JUnit 5.14.4 and 6.1.3, JDK 25 |
assertj/ |
AssertJ Complete Guide: Soft Assertions, Recursive Comparison and Custom Assertions | AssertJ 3.27.7, JUnit 6.1.3, JDK 25 |
instancio/ |
Instancio: Generate Realistic Test Data Automatically in Java | Instancio 6.1.0, JUnit 6.1.3, JDK 25 |
gatling-spring-boot/ |
Load Testing Spring Boot with Gatling's Java DSL (and How It Compares to k6) | Gatling 3.16.0, Spring Boot 4.1.2, k6 v2.3.0, JDK 25 |
spring-test-slices/ |
Spring Boot 4 Test Slices: @WebMvcTest, @JsonTest, @RestClientTest and @DataJpaTest Compared | Spring Boot 4.1.2, JDK 25 |
Every module keeps the real output of its tests in output/. Each test writes the transcript and asserts the same facts, so the numbers in the posts fail the build if they stop being true.
cd mockito && ./scripts/run-all.sh
cd ../junit-6-migration && ./scripts/run-all.sh
cd ../assertj && ./scripts/run-all.sh
cd ../spring-test-slices && ./scripts/run-all.sh
Languages
Java
83.2%
Python
7.8%
Shell
7.5%
JavaScript
1.5%