Axon comes with a great fixture test tool that provides a fluent, bdd styled (given/when/then) API to write aggregate and saga tests. So far, so great.
JGiven on the other hand provides a great java based test tool for junit/junit5 that supports strict type safe separation of the different Arrange/Action/Assert Stages and also great reports that can be used to document features.
Knowing these two tools, I came up with “axon-jgiven” … writing axon tests the jgiven way (written in kotlin and primarily addresses kotlin, but should also be usable with java). This is how a test of the giftcard example looks like using axon-jgiven: