v0.8.0
New Features
Hierarchical Tags #99
Tags can now have parent tags by tagging a tag annotation. This allows you to define tag hierarchies.
Example
The following example tags the FeatureHtml5Report
annotation with the FeatureReport
annotation:
@FeatureReport
@IsTag( name = "HTML5 Report" )
@Retention( RetentionPolicy.RUNTIME )
public @interface FeatureHtml5Report { }
Enhanced Spring Support #94
- The Spring support has been greatly improved. JGiven Stages can now be directly managed by the Spring framework, resulting in a much better Spring integration.
- Note that the usage of Spring is optional and is provided by the
jgiven-spring
module.
- Note that the usage of Spring is optional and is provided by the
- Introduced
@JGivenStage
to ease writing spring beans that act as JGiven stage - Thanks to TripleNail for providing this enhancement!
New features in the HTML5 Report
- Classes are shown now in hierarchical navigation tree and scenarios can be listed by package #91
- Durations are now shown in appropriate units instead of only showing them in seconds #92
- The navigation bar can now be hidden and resized #96
- Failed scenarios are now colored in red, pending scenarios are greyed out
- In the Summary section, the number of scenarios for each status are shown
New style
attribute for the @IsTag
annotation
- The new
style
attribute allows you to define arbitrary inline styles for tags that will be applied to the tag in the HTML5 report
JUnit: New StandaloneScenarioRule
- With this rule it is now easier to use JGiven without inheriting from
ScenarioTest
. Just put this rule as a@Rule
and theScenarioReportRule
as a@ClassRule
into your test class and you can use JGiven by injecting stages with@ScenarioStage
.
Removed Features
Removed the old static HTML report generator #101
- As the HTML5 report supports all the features of the static HTML report, the static HTML report has been completely removed to avoid duplicate efforts when implementing new features.
Fixed Issues
- HTML5 Report: fixed issue with duplicate entries in tables when used as step parameters #89
- HTML5 Report: fixed navigation and added searching in the mobile version
- HTML5 Report: fixed slow scrolling in case of large lists of scenarios
- Fixed an issue that the
@Description
annotation was not regarded for methods with the@IntroWord
#87 - TestNG: fixed missing support for injection of stages into the test class using the
@ScenarioStage
annotation - TestNG: fixed missing support for
@ScenarioState
annotation in test classes - Removed unneeded ICU dependency
New Annotations
- Introduced the
@As
annotation that replaces the@Description
annotation when used on step methods and test methods. The@Description
annotation should only be used for descriptions of test classes. - Added
@Pending
annotation to replace the@NotImplementedYet
annotation. #100
Backwards incompatible JSON Model Changes
- The field
notImplementedYet
of theScenarioModel
was renamed topending
- The
StepStatus
NOT_IMPLEMENTED_YET
was renamed toPENDING
.
Note: in general, backwards incompatible model changes should be no problem, as long as you use the same version for all JGiven modules (core, html5-report, maven-plugin).