Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what is the difference between io.cucumber and info.cukes

I am trying to integrate BDD using Cucumber. But I am really confused what is the difference between io.cucumber and info.cukes libraries. And which one to use and when.

I tried to read and understand the github README.md file still can't make heads or tails.

Still further I am not sure what is cucumber-jvm. Why do we need cucumber-junit (can't the standalone junit library suffice).

Thanks in advance. Any help is much appreciated.

like image 878
Alok Avatar asked May 07 '18 06:05

Alok


People also ask

What is cukes in Cucumber?

1. cuke - cylindrical green fruit with thin green rind and white flesh eaten as a vegetable; related to melons. cucumber. veg, vegetable, veggie - edible seeds or roots or stems or leaves or bulbs or tubers or nonsweet fruits of any of numerous herbaceous plant. gherkin - small prickly cucumber.

What is the use of Cucumber-JVM DEPS?

cucumber-jvm-deps is used to prevent conflicts when Cucumber-JVM is used along with other project depending on the same libraries.

What is Cucumber JUnit?

JUnit is an open source unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks, which is collectively known as xUnit that originated with SUnit.


1 Answers

Refer to the release notes for more details. - https://github.com/cucumber/cucumber-jvm/blob/master/CHANGELOG.md.

There has been substantial changes in cucumber 2. Refer to this for more - https://cucumber.io/blog/2017/08/29/announcing-cucumber-jvm-2-0-0

io.cucumber and info.cukes are Maven group ids. info.cukes was for Cucumber version till 1.2.5. The latest version are in io.cucumber starting from 2.0.0. There is also a new version 3 with more goodies in github with the master as mentioned in the release notes.

The reason the groupid was changed because gherkin has changed the groupid similarly.

cucumber-jvm is the java implementation of Cucumber framework. there are many other implementations in other languages - https://github.com/cucumber.

When you use the @RunWith(Cucumber.class) on top of the test class, it means that a specialized runner is being used which will execute the feature files. The default runner of junit will not get you anywhere, though might cough up some exceptions.

like image 155
Grasshopper Avatar answered Sep 28 '22 00:09

Grasshopper