JGiven v1.0.0 Release Notes

  • โšก๏ธ This is the first major version update of JGiven. It does introduce new features, as well as backwards-incompatible changes, ๐Ÿ—„ due to the removal of all deprecated classes and methods and the drop of Java 7 support.

    ๐Ÿ†• New Features

    • โž• Additon of @FillerWords to prepend scenario stage methods. #472 (thanks to richard-stowe)
    • ๐Ÿ‘ Java 13 is supported now #447 (thanks to jsalinaspolo)
    • The CurrentStep interface has a new method setName to change the name of a step programmatically #386
    • โšก๏ธ Updated the Guava dependency to v27.1-jre #398
    • โž• Added DualScenarioTest #406 (thanks to jangalinksi)
    • โฌ†๏ธ Upgraded Gradle Plugin to support Gradle 5 and 6 #381 (thanks to jsalinaspolo)
    • โœ… @Pending can now be added to the test class to make all scenarios of that class pending #403
    • โž• Added new option 'jgiven.report.dry-run' to generate a report without really executing the tests #435 (thanks to jsalinaspolo)
    • โž• Added Portuguese scenario and stage classes #423 (thanks to gandadil)
    • โž• Added French scenario and stage classes #488 (thanks to ecattez)

    Spring 5 with JUnit 5

    ๐Ÿ‘ To better support Spring 5 with JUnit 5 the jgiven-spring module has been split up into three modules. You need to adapt your dependencies accordingly. If you are using JUnit 4 use the jgiven-spring-junit4 module. If you are using Spring 5 with JUnit 5 then use the jgiven-spring-junit5 module.

    Backwards Incompatible Changes

    • ๐Ÿ‘ Java 7 is not supported anymore
    • Calling stage methods annotated with @DoNotIntercept or declared within java.lang.Object will not trigger a stage change anymore #385
    • The Guava dependency changed to v27.1-jre. This might lead to problems in case your project also depends on Guava

    Cleaned up Module Dependencies

    ๐Ÿšš Some direct module dependencies have been removed. This means that you might have to add additional ๐Ÿ— dependencies to your build:

    • jgiven-junit has no direct junit dependency anymore and no direct dependency to jgiven-html5-report

    โœ‚ Removed Deprecated Features

    ๐Ÿ“š All deprecated methods and classes have been removed. Please adapt your code according to the JavaDoc documentation.

    • โœ‚ Removed @NotImplementedYet annotation. Use @Pending instead.
    • โœ‚ Removed @CaseDescription annotation. Use @CaseAs instead.
    • โœ‚ Removed CaseDescriptionProvider. Use CaseAsProvider instead.
    • โœ‚ Removed DefaultCaseDescriptionProvider. Use DefaultCaseAsProvider instead.
    • โœ‚ Removed com.tngtech.jgiven.junit.de.SzenarioTest. Use com.tngtech.jgiven.junit.lang.de.SzenarioTest instead.
    • โœ‚ Removed ScenarioExecutionRule. Use JGivenMethodRule instead.
    • โœ‚ Removed ScenarioReportRule. Use JGivenClassRule instead.
    • โœ‚ Removed SpringCanWire

    ๐Ÿ›  Fixed Issues

    • ๐Ÿ‘‰ Make it easier to copy the stack trace from an error message #380
    • โœ… TestEntitiyManager now initialized correctly #415 (thanks to leimer)
    • ๐Ÿ”Œ make tasks in the JGiven-gradle plugin cacheable #450 (thanks to jsalinaspolo)
    • โœ… make sure the spring-junit-5 plugin is actually tested #493 (thanks to catchin)
    • โœ… spring-junit5 tests now initialize spring before JGiven #494 (thanks to catchin)