Michael Kutz

@mkutz@mstdn.social
222 Followers
164 Following
219 Posts
Quality Engineer, international conference speaker about QA & Agile, freelance QA consultant, author of http://shakespeareframework.orgโ€ฆ
Homepagehttps://michael-kutz.de
Gravatarhttps://gravatar.com/michakutz

๐ŸŽ‰ ApproveJ v0.9.3 is out!

๐Ÿ“…/๐Ÿ•— introduces 16 new pre-defined Scrubbers for date/time strings
๐Ÿž fixes broken parsing if a date/time pattern contained a square bracket within an optional part

๐Ÿ‘‰ https://github.com/mkutz/ApproveJ/releases/tag/v0.9.3

#approvaltesting #snapshottesting #java #kotlin #testing #jvm

๐Ÿš€ ApproveJ 0.8.6 was just published

๐Ÿ‘๏ธ adds new review mechanism to automatically open a diff/merge tool if needed

#approvaltesting #snapshottesting #java #kotlin

The program for the @AgileTDZone is outโ€ฆ

โ€ฆand I'm really happy to be in it as a speaker ๐Ÿ˜ƒ
This year I'm going to give my brand new talk on documentation. "WTFM: Whereโ€™s the F****** Manualโˆ" is about

๐Ÿ˜ฎโ€๐Ÿ’จ understanding why documentation is hard,
๐Ÿ“ learning a systematic approach to know what to document when and in what form,
๐Ÿ™‚ make documentation a more rewarding and even fun activity.

https://agiletestingdays.com/2025/session/wtfm-wheres-the-f-manual/

#agiletd

Agile Testing Days

Agile Testing Days - November 23 - 26, 2024 in Potsdam, Germany - Europe's GreaTest Agile Testing Conference for Software Testers, Developers & Managers

๐Ÿš€ ApproveJ 0.8 was just released

๐Ÿ–ผ๏ธ adds support TestNG and Spock in addition to JUnit 5
๐Ÿž fixes ObjectPrinter running into a StackOverflowError when printing Enums
๐Ÿงน removes deprecated instants and date Scrubbers

๐Ÿ‘‰ https://github.com/mkutz/ApproveJ/releases/tag/v0.8

Release Release v0.8 ยท mkutz/ApproveJ

Changelog 8e2060f Remove dates and instants from Scrubbers 2b47f7c Add support for JUnit4, TestNG and Spock 231dbb0 Add banner template 43d65b8 Add Enum and Class to simples types 9141daa Add dateT...

GitHub

๐Ÿš€ ApproveJ 0.7.1 is out

๐Ÿ—“๏ธ/๐Ÿ•™ `dateTimeFormat` scrubber for any date/time format defined by a date/time format string (e.g. "yyyy-MM-dd" or "HH'h' mm").
The new scrubber will replace the current `instants` and `dates` scrubbers.

๐Ÿ‘‰ https://github.com/mkutz/ApproveJ/releases/tag/v0.7.1

Release Release v0.7.1 ยท mkutz/ApproveJ

Changelog core ๐Ÿ—“๏ธ๐Ÿ•™ New Scrubbers.dateTimeFormat The new Scrubber can be used to remove any date/time string from a received string. E.g. Response response = sendMessage("Hello World!"); approve(re...

GitHub

@joschi I wasn't aware of that one tbh. I used https://github.com/approvals/ApprovalTests.java so far and had some issues with the API.

I'd say the approach of Java Snapshot Testing's API looks quite similar at first glance.

The concept of scrubbing seems to be missing, though.
Also, ApproveJ has a slightly different approach to how and where to store the snapshots.
Certainly, ApproveJ is less mature, right now.

Again, that's an at first glance comparison.

@apas_csc yeah, had the same feelings about this. I think storing the previously approved values in a file and checking it in to the VCS is what makes approval testing a bit different from deepEquals.

ApproveJ is a new implementation of Approval Testing for the JVM. It provides a fluent API and is highly customizable.

Check it out
๐Ÿ‘‰ approvej.org

Approval testing can help a lot in these cases.

It simply takes a complex object, prints it into a string representation, and stores that in a file.

If the user approves it (by renaming the file), the test is considered green as long as the code produces the same string.

You can than use a diff tool to figure out what has changed and if that change was intended or is actually a problem.