As my early post [Cucumber] An brief introduction, Cucumber is an amazing testing tool and it is about Behaviour-Driven Development instead of Test-Driven Development.
The book "The Cucumber Book" gives a very good explanation and useful of examles to illustrate the usages and functionalities in depths.
Based on that book's a good simple example, the following picture give the dictionary structure (left hand side ) and 3 of important files ( right hand side ) as follows:
"calc.rb" provides the calculation function for calculator_steps.rb
" calculator_steps.rb" provide the functions mapping to feature's script based on the key words: Given, When, and Then
Under the path, we run "cucumber" and then get the information as below:
Scenario Outline: Add two numbers # features/adding.feature:3
Given the input "<input>" # features/step_definitions/calculator_steps.rb:9
When the calculator is run # features/step_definitions/calculator_steps.rb:13
Then the output should be "<output>" # features/step_definitions/calculator_steps.rb:18
| input | output |
| 2+2 | 4 |
| 98+1 | 99 |
2 scenarios (2 passed)
6 steps (6 passed)