Skip to content

v0.8.0

Compare
Choose a tag to compare
@janschaefer janschaefer released this 09 Aug 14:27
· 2660 commits to master since this release

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.
  • 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 the ScenarioReportRule 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 the ScenarioModel was renamed to pending
  • The StepStatus NOT_IMPLEMENTED_YET was renamed to PENDING.

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).