Skip to content

Release v3.0.0

Latest

Choose a tag to compare

@l-1squared l-1squared released this 09 Oct 16:28
· 9 commits to master since this release
87796d2

Release v3.0.0

Backward incompatible changes

  • Dropped support for Java 17. JGiven now requires Java 21 or higher.
  • Dropped module jgiven-spock

Deprecated modules

  • Deprecated jgiven-junit5 module in favor of jgiven-junit6. The jgiven-junit6 module provides full JUnit 5 support and is also compatible with JUnit 6, enabling forward compatibility. Existing JUnit 5 tests using jgiven-junit5 will continue to work, but new projects should use jgiven-junit6.

    • Use com.tngtech.jgiven.junit6.ScenarioTest, com.tngtech.jgiven.junit6.SimpleScenarioTest, and com.tngtech.jgiven.junit6.DualScenarioTest instead of the junit5 variants.
  • Deprecated jgiven-spring-junit5 module for Spring 7.x compatibility. A new jgiven-spring-junit6 module has been introduced that supports Spring 7.x.

    • The jgiven-spring-junit5 module will continue to support Spring 6.x but is deprecated for users wanting to upgrade to Spring 7.x or later.
    • Use com.tngtech.jgiven.integration.spring.junit6.SpringScenarioTest, com.tngtech.jgiven.integration.spring.junit6.SimpleSpringScenarioTest, and com.tngtech.jgiven.integration.spring.junit6.DualSpringScenarioTest instead of the junit5 variants.

New features

  • JGiven is now capable of generating its reports in Asciidoc format. Huge thanks to @johtor for sketching this
    feature. #2211
  • Added jgiven-junit6 module with support for both JUnit 5 and JUnit 6. This module provides API compatibility with JUnit 5 and enables migration to JUnit 6 when ready.
  • Added jgiven-spring-junit6 module with support for Spring 7.x while maintaining backward compatibility with JUnit 5.
  • Added JGivenSpringExtension (in jgiven-spring-junit5 and jgiven-spring-junit6) that installs JGiven's
    SpringStageCreator via a JUnit extension callback, so that Spring dependency injection into JGiven stages keeps
    working even when a test declares @TestExecutionListeners with the default REPLACE_DEFAULTS merge mode. The Spring
    scenario test base classes now register this extension
    automatically. #2193

Fixed issues

  • Spring's @TestExecutionListener annotation no longer breaks JGiven's Spring context initialization. Previously,
    declaring @TestExecutionListeners (which defaults to REPLACE_DEFAULTS) removed Spring's
    DependencyInjectionTestExecutionListener, so the BeanFactoryAware callback that JGiven relied on to install its
    SpringStageCreator never fired, leaving @Autowired stage beans uninjected. JGiven now installs the
    SpringStageCreator through its own JUnit extension, independent of any
    TestExecutionListener. #2193

    Note, due an issue in the release process the released only points quite to the commit that was pushed to the respective artifact repositories. The last common commit is 8640fba