Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What's wrong with AssertJ?!

What's wrong with AssertJ?!

Avatar for Stefano Cordio

Stefano Cordio

May 12, 2026

Other Decks in Programming

Transcript

  1. Stefano Cordio M a y 1 2 t h ,

    2 0 2 6 What’s Wrong with AssertJ?! How a decade of technical debt is addressed in version 4
  2. AssertJ Core AssertJ Guava AssertJ Generator joel-costigliola Joel Costigliola scordio

    Stefano Cordio AssertJ Vavr Grzegorz Piwowarek pivovarit AssertJ DB VanRoy Julien Roy AssertJ Neo4j Florent Biville fbiville AssertJ Swing Christian Rösch croesch Matt Bertolini mattbertolini AssertJ Eclipse Collections Riccardo Cardin rcardin AssertJ Arrow Core AssertJ Protobuf The Team filiphr Filip Hrisafov Nava2 Kevin Brightwell
  3. The AssertJ History FEST Assert 1.x 2.x 3.x 4.x 2009

    2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2027 2026 1.0 1.4 1.0 1.7.1 2.0 2.9.1 3.0 3.27.7 Fork! 3.28 2.3 2.6 2.7 2.9 3.3 3.6 3.8 3.10 3.13 3.17 3.20 3.22 3.24 3.26 3.27 1.6 Java 8 Java 17 Java 7 4.0-M1 4.0 4.0-M2
  4. Inconsistent Return Types Abstract classes → Contracts Name without “Abstract”

    Concrete classes → Implementation details Never public, controlled instantiation via factory methods
  5. Soft Assertions Performance penalty due to proxying at runtime with

    Byte Buddy Alternatives: • Byte Buddy proxying at compile time • Source code generation (JavaPoet, Java Template Engine) • Explicit wrapping logic ✓ Recently contributed by filiphr Filip Hrisafov
  6. 3.x → 4.0 Migration with OpenRewrite Assertions for New JDK

    Classes Multi-release JAR to support JDK types > 17 Diff-like Error Messages for Strings and Collections MCP Server for LLM Integration? AssertJ Incubator?
  7. User Guide with Antora Javadoc Markdown and Executable Snippets Integration

    Testing with Popular Projects (Spring, JUnit, Mockito, etc.)
  8. Get in touch at assertj/assertj Use Cases • Missing Features

    • Friction Try Out Milestone Versions
  9. Open Source in Switzerland 5th June 2026 Technopark Winterthur winterthur2026.hack-commit-pu.sh

    Monthly evenings Zürich / Luzern / Basel www.hackergarten.net