JUnit 6 ships with assertEquals , assertTrue , and a handful of other primitives. They work, but they leave a lot to be desired the moment a test fails. You get a message like expected: <true> but was: <false> , with no context about what was actually wrong. In a large Spring Boot project with dozens of test classes, that kind of noise slows everyone down.
AssertJ and Kotest Assertions both give you fluent, human-readable assertions with failure messages that tell the full story. They come from different design philosophies, and the one that fits your team depends on whether you're working in a pure Kotlin codebase, a mixed Java/Kotlin project, or something in between.
This article compares AssertJ and Kotest Assertions on syntax and readability, IntelliJ IDEA support, custom assertion strategies, soft assertions, Spring Boot integration, and adoption.…