v0.14.0
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
Spring Integration
In order to fix issue #259 the Spring integration was largely rewritten. If you only had used the @EnableJGiven
and @JGivenStage
annotations, nothing should change.
If you had a custom Spring configuration for JGiven you have to change the following:
- The classes
SpringStepMethodInterceptor
andJGivenStageAutoProxyCreator
do not exist anymore, you have to remove all references - As a replacement the new class
JGivenBeanFactoryPostProcessor
exists now. You have to register this bean in your Spring configuration
New Features
- 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 jgiven-android-test
project.
Also see #258
Special thanks to orginx
Fixed Issues
- Spring Integration: Nested Steps are now supported when using Spring #259