Examples Table: Repeating a Scenario
Examples Table: Repeating a Scenario
In this post, we will discuss the Examples table in the JBehave story. We can use it to run repeating-like scenarios. Also, we can data drive the scenario and repeat it as many times as the number of data rows in the examples table.
Repeating a Scenario
We will see a simple scenario of adding 2 numbers and repeating the scenario multiple times. Also, this can be achieved by injecting parameters to the Java method with @Named annotation. The Java method will execute the number of times as the number of rows in the Examples table. Furthermore, the example is a simplification of stated: Annotated @Named Parameters Example
Examples tables require parameters for the textual step to be matched to step methods.
Story gherkin
Example Tables Story Narrative: Checking simple ADD functions in this story Scenario: ADD numbers Given numbers to add i <i> and j <j> When we add them Then verify the sum Examples: |i|j| |7|9| |10|15| |100|250|
We can see that i and j are the parameters specified in the table.
The number of rows are three. So , the scenario run for three times with different parameter values specified in the table rows.
Tip: to navigate to the corresponding matching java method ( control + click ) on the textual step in the story file.
Method
@Given("numbers to add i $i and j $j") public void givenNumbers(@Named("i")int i,@Named("j")int j ) { // step logic ....... }
Run output
We run the story we may see that the scenario executes three times each time with the row data specified in the table.
Example: {i=7, j=9}
Given numbers to add i 7 and j 9
When we add them
Then verify the sum
Using timeout for story ExamplesTable.story of 300 secs.
Example: {i=10, j=15}
Given numbers to add i 10 and j 15
When we add them
Then verify the sum
Example: {i=100, j=250}
Given numbers to add i 100 and j 250
When we add them
Then verify the sum
This feature can be used for data-driven testing of a story or scenario multiple times.
JBehave Tutorials on this website can be found at:
https://www.testingdocs.com/jbehave-framework-tutorial/