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)