Datatables in Cucumber
1.
Create a new maven project.
Refer link Maven Project in Java
2.
Create a cucumber project in the maven setup.
Refer link Create Cucumber Project
3.
Now Create a feature file Calculator.feature in src\test\resources.
4.
Write the below code in Calculator.feature
Feature: Cucumber can
convert Gherkin data tables to a list of a type you specify.
Scenario: The sum of a list of numbers should be calculated
Given a list of numbers
| 1
|
| 4
|
| 1 |
When I summarize them
Then should I get 6
5.
Note the list of numbers in this example is
given in the form of a list.
6.
Now run the feature file as à Cucumber Feature. It
will give the below error.
7.
Now copy the snippet steps and create a step definition file with the below code.
8.
Name the step definition file as Calculatorsteps.java
package test.cucumber;
import
cucumber.api.java.en.Given;
import
cucumber.api.java.en.Then;
import
cucumber.api.java.en.When;
import
java.util.List;
import
static org.hamcrest.CoreMatchers.is;
import
static org.junit.Assert.assertThat;
public class calculatorsteps {
private List<Integer> numbers;
private int sum;
@Given("^a list of numbers$")
public void
a_list_of_numbers(List<Integer> numbers) throws Throwable {
this.numbers = numbers;
}
@When("^I summarize them$")
public void i_summarize_them() throws
Throwable {
for (Integer number : numbers) {
sum += number;
}
}
@Then("^should I get (\\d+)$")
public void should_I_get(int expectedSum)
throws Throwable {
assertThat(sum, is(expectedSum));
}
}
9.
In this example, create a list and assign the
numbers in datatable to the list and perform addition of the numbers in the
list and compare the result.
10.
Now run the script and see the result as below.
11.
Explanation of code : In this example, we have
data in gherkin language written separated using “|” . For the implementation
in step definition, we have created a list in the code and assigned the numbers
in datatable to the list and perform addition of the numbers in the list and
compare the result.
12.
Conclusion : Cucumber supports in built data
tables which can be used to define normal scenarios in gherkin language.
No comments:
Post a Comment