Releases: TNG/JGiven
v0.15.2
Fixed Issues
- Fixed JUnit 5.0.0 compilation issue due to API changes #326
- Fixed a
NullPointerException
in the PojoFormatter when passed object isnull
#318
INFO: JGiven HTML App
The JGiven HTML5 App is extracted into its own project.
This allows us to develop the HTML5 App independently of JGiven as it is also used by jsGiven, for example. For users of JGiven nothing changes as the HTML5 App is delivered together with JGiven.
v0.15.1
v0.15.0
New Features
- Thumbnail preview for image attachments added #299
- The ReportGenerator now uses the HTML5 report as default, doesn't silently misinterprets wrong arguments and flags and offers suggestions #299
- Formatting POJOs has been greatly improved, by allowing to specify custom formatters for fields #297 (thanks to dgrandemange)
- @ExtendedDescription supports parameter place holders now #283
- The HTML App has been extracted into a separate project and has been refactored internally. The functionality should not have been changed. #287
Fixed Issues
- Upgraded to ByteBuddy 1.6.x to fix backwards-incompatibility issues when JGiven is used with Mockito 2.7.19 #309
- Introduced CaseAs annotation to replace the CaseDescription annotation #301
- Removed ambiguity between parsing of As, CaseAs and ExtendedDescription. Argument enumeration starts from 1, internal count of how often placeholders are used, see docs to As for every feature. All argument reference types are interoperable #301
v0.14.1
Fixed Issues
- Performance: Caching the classes generated with ByteBuddy introduced with v0.14.0 to decrease the memory consumption and performance of creating stage classes #294
- OSGi: Using class loader of the stage class instead of the current thread when creating classes with ByteBuddy #302
- HTML Report: Long exception messages of failed Scenarios are now wrapped #292
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
v0.14.0-RC3
Fixes broken pom.xml files
Release 0.14.0-RC2 had broken pom.xml files deployed to Maven Central. This is fixed with this release.
v0.14.0-RC2
Important changes compared to 0.14.0-RC1
- Added experimental JUnit 5 support (see http://jgiven.org/userguide/#_junit_5_experimental)
- Fixed some issues with the new Spring integration
- Fixed issue with the Maven Plugin (also see v0.13.1)
Note: this release contains broken pom.xml files. Please use release 0.14.0-RC3
v0.13.1
v0.14.0-RC1
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 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
v0.13.0
Backwards Incompatible Changes
In order to fix issue #239, a backwards incompatible change had to be done:
- The
ScenarioBase
class is now abstract, because the methodgetScenario()
was made abstract. Thus, subclasses have to implement thegetScenario()
method.
As, in general, you should have inherited either fromScenarioTest
orSimpleScenarioTest
the change should most likely not effect you.
If you have directly inherited fromScenarioBase
, have a look at theScenarioTest
class of how to implement thegetScenario()
method.
New Features
- Custom annotations can now also be defined for the
@Table
annotation #235 - In addition to text and images, all kinds of media types can now be used as attachments #228 (thanks to ahus1)
Small Improvements
- Assertion errors shown in the HTML report respect line breaks now. #234
Bug Fixes
- TestNG: executing test methods in parallel is now possible. #239
- Correctly handle nested steps in parametrized scenarios. #248
- Correctly report pending status of parametrized scenarios. #200
- Spring: added support for executing Spring tests with the Spring JUnit rules instead of the Spring test runner. #250