Stefano Cordio

@scordio
299 Followers
49 Following
130 Posts

Software Engineer @ EPAM Systems

AssertJ Maintainer

GitHubhttps://github.com/scordio

Now the @jugch in Zurich knows what's wrong with AssertJ! πŸ˜„ And also how we're working to improve things. We're still in the early stages and there's a lot cooking, but I can't wait to see all this work shipped to our users πŸš€

Thank you so much to everyone who attended and @patbaumgartner for hosting the event! I had a blast!

Less than a week to go! πŸš€

Join me this Tuesday at PH ZΓΌrich to discover how AssertJ 4 is about breaking things (carefully) to make your testing life better.

Come for the technical debt, stay for the drinks and networking! 🍻

@jugch

https://www.jug.ch/html/events/2026/assertj.html

Java User Group Switzerland: Event "What's wrong with AssertJ?! - How a decade of technical debt is addressed in version 4.0"

AssertJ has been a player in Java testing for over a decade, providing an intuitive set of strongly typed assertions designed to maximize test readability. Since the launch of version 3.0, the library has undergone a massive expansion to support a wide range of use cases, specialized JDK types, and technologies like Guava and databases. However, this extended period of growth has resulted in a significant accumulation of technical debt and architectural friction that cannot be fully resolved while maintaining backward compatibility.

Here's what you'll find out of the box:
πŸƒ @SpringConversion β†’ Tap into Spring Framework's type conversion directly in your test arguments
πŸ”’ @Bytes, @Base64, and @Hex β†’ Decode strings and numbers directly into the byte arrays your productive code expects

I’d love to get your feedback! If you have a specific use case where another custom converter could help, get in touch!

https://stefano.codes/junit-converters/

JUnit Converters

Collection of argument converters for JUnit parameterized testing

This week, from the venue of Spring I/O, I've open-sourced a new library to make data-driven testing in Java a little bit easier: JUnit Converters!

I'm a huge fan of data-driven and parameterized testing, and I always want to keep test code as readable and maintainable as production code. JUnit Converters helps you with it with a collection of ready-to-use argument converters for JUnit 6 (and 5!).

🧡

https://github.com/scordio/junit-converters

GitHub - scordio/junit-converters: Collection of argument converters for JUnit parameterized testing

Collection of argument converters for JUnit parameterized testing - scordio/junit-converters

GitHub

Neither. I just use #AssertJ! πŸ€“

And yes, this is coming from a #JUnit maintainer. πŸ˜‡

Securing the AI software supply chain: Security results across 67 open source projects

The GitHub Secure Open Source Fund helped 67 critical AI‑stack projects accelerate fixes, strengthen ecosystems, and advance open source resilience.

The GitHub Blog

πŸ“’ AssertJ joined the GitHub Secure Open Source Fund, a program that leveled up security across 67 open source projects.

What changed for us: SHA pinning, immutable releases, incident response plan, and a mindset shift toward security awareness πŸ”’

The impact? More robust JVM assertions πŸš€

πŸ“’ AssertJ 3.27.7 has been released!

This fixes CVE-2026-24400 πŸ”’

Happy assertions!

https://github.com/assertj/assertj/releases/tag/assertj-build-3.27.7

Release v3.27.7 Β· assertj/assertj

πŸ”’ Security Core Fix XXE vulnerability in isXmlEqualTo assertion (CVE-2026-24400) See GHSA-rqfh-9r24-8c9r for details; many thanks to @wxt201 and @Song-Li for responsibly reporting it! 🚫 Deprec...

GitHub

Last but not least, the test suite is now much stronger as the relevant JSON marshalling is black-box tested.

If you're curious about the details, take a look at this PR πŸ‘‡

https://github.com/spring-projects/spring-batch-extensions/pull/196

Replace `notion-sdk-jvm` with Spring Framework's HTTP Service Client by scordio Β· Pull Request #196 Β· spring-projects/spring-batch-extensions

Closes Replace notion-sdk-jvm with custom Spring Rest Client #154

GitHub

Jackson doesn't really need any introduction, and I lost track of how many times I wondered, "Can I really do this with Jackson?!"

After the changes, how the extension communicates with Notion is fully an implementation detail, tailored to its scope and no longer exposed to users. All public types are now decorated with Jackson annotations, and there is no need for an intermediate layer to handle request & response conversion.