Cucumber JVM 4.5.0 update

I have updated the cucumber version from 4.2.6 to latest 4.x version which is 4.8.1. (why not use latest 5.x version ? this is a major update, however I don’t think I need those 5.x new features. So I will keep staying with version 4.x until there is something interested )

I had to refactor the code to adapt those new changes introduced from version 4.5.0. In this version , it changed many things such as CucumberOptions Scenario TestNGCucumberRunner AbstractTestNGCucumberTests io.cucumber.java.*(En).

You simply just need to replace cucumber.api to io.cucumber. Everything works the same as before, no thing is broken.

Detail Changed in 4.5.0

  • [JUnit] JUnit will no longer run in verbose mode by default (#1670 M.P. Korstanje)
    • Add summary and/or progress plugins to restore output
  • [TestNG] TestNG will no longer run in verbose mode by default (#1670 M.P. Korstanje)
    • Add summary and/or progress plugins to restore output
  • [Java] Use ServiceLoader for Guice, Needle, OpenEJB, Pico, Spring and Weld ObjectFactory implementations.
    • Removes spurious deprecation warning.
    • Moves ObjectFactory implements to io.cucumber.<module-name> package.

Deprecated

  • [Core] Deprecate cucumber.api.CucumberOptions (#1670 M.P. Korstanje)
    • Use io.cucumber.junit.CucumberOptions or io.cucumber.testng.CucumberOptions instead
  • [Core] Deprecate cucumber.api.cli.Main (#1670 M.P. Korstanje)
    • Use io.cucumber.core.cli.Main instead
  • [Core] Deprecate cucumber.api.Scenario
    • Use io.cucumber.core.api.Scenario instead
  • [Java] Deprecate cucumber.api.java.*
    • Use io.cucumber.java.* instead
  • [Java] Deprecate cucumber.api.java8.*
    • Use io.cucumber.java8.* instead
  • [JUnit] Deprecate cucumber.api.junit.Cucumber
    • Use io.cucumber.junit.Cucumber instead.
  • [TestNG] Deprecate cucumber.api.testng.TestNGCucumberRunner
    • Use io.cucumber.testng.TestNGCucumberRunner instead.
  • [TestNG] Deprecate cucumber.api.testng.AbstractTestNGCucumberTests
    • Use io.cucumber.testng.AbstractTestNGCucumberTests instead.
  • [Needle] Deprecate cucumber.api.needle.*
    • Use io.cucumber.needle.* instead.
  • [Spring] Deprecate cucumber.api.spring.SpringTransactionHooks
    • It is recommended to implement your own transaction hooks.
    • Will allow the dependency on spring-txn to be removed.

Leave a comment