Switch from cglib to ByteBuddy
The internal JGiven interception mechanism was changed to use ByteBuddy instead of cglib. The main reason for this change is support for Android (see below).
From a users perspective, JGiven should behave as before.
Backwards Incompatible Changes
In order to fix issue #259 the Spring integration was largely rewritten. If you only had used the
@JGivenStage annotations, nothing should change.
If you had a custom Spring configuration for JGiven you have to change the following:
- The classes
JGivenStageAutoProxyCreatordo not exist anymore, you have to remove all references
- As a replacement the new class
JGivenBeanFactoryPostProcessorexists now. You have to register this bean in your Spring configuration
- Tags with the same name, but different packages are now correctly distinguished #242 (thanks to ahus1)
- Scenario states can be marked as required to make scenarios fail quickly and with a clear message if the state hasn't been provided #255
Experimental JUnit 5 Support
JGiven can now be used together with JUnit 5, by using the
JGivenExtension. Refer to the user guide for additional details. #277
Experimental Android Support
There is a new experimental module called
jgiven-android, which enables JGiven support for tests executed on the device or simulator.
This makes it possible to combine JGiven with Espresso tests and even integrate screenshots in the JGiven report.
For details of how to setup and use the Android support have a look at the
Also see #258
Special thanks to orginx
- Spring Integration: Nested Steps are now supported when using Spring #259