Hi, I’m trying to use scenario outline, but I have some steps that I
want to execute once before start steps with < >.
Scenario Outline: Execute Steps
Given some steps that I want to run once
When…
Then…
Given like
Example:
| step | description |
| 1 | first |
| 2 | second |
I want to execute Given, When and Then once before start with Scenario
Outline Iterator. This steps are running for each row. How can I create
a subscenario or something like that?
| step | description |
| 1 | first |
| 2 | second |
I want to execute Given, When and Then once before start with Scenario
Outline Iterator. This steps are running for each row. How can I create
a subscenario or something like that?
Do you have a concrete example? That would make it easier to find a
good
solution.
There’s a way to do it?
Here are some approaches that might be worth looking into.
Given-When-Then statements are functions that can call each other. Have
a
look at this example ( http://wiki.github.com/aslakhellesoy/cucumber/calling-steps-from-step-definitions)
to see what I mean. When calling steps from a step definition, it’s a
good
idea to keep the step types consistent. In other words, avoid calling a
Then statement from a Given statement definition. Compound steps may
not be
what you need because they will run once for each iteration of the
Scenario
Outline.
If you want a set of Givens to run only once for the entire Scenario
Outline, use Background ( http://wiki.github.com/aslakhellesoy/cucumber/background). The
potential
downside here is Background statements are run before each Scenario
(Outline) in the Feature, thereby restricting the Scenarios you can use
in
the Feature.
Lastly, take a look at Tagged Hooks ( http://wiki.github.com/aslakhellesoy/cucumber/hooks). These can be used
if
you want some Ruby code to run before (or after) every Scenario with a
particular tag. A big downside here is there’s no indication, aside
from
the tag, that additional Ruby code is running. You can get the same
effect
using a Given statement, which is certainly clearer than a Hook.