"A step starting with And assumes the same meaning of the previous step"
but this clearly isn't the case in practise, nor does it even require any preceeding step type to be defined. For example with:
public class Steps extends org.jbehave.scenario.steps.Steps { @When("the wind blows") public void theWindBlows() { System.err.println("when it blows then boom"); } @Given("the wind blows") public void theWindBlows2() { System.err.println("given it blows then boom"); } }
Scenario: Test And the wind blows Given the wind blows And the wind blows When the wind blows And the wind blows
Outputs:
when it blows then boom given it blows then boom when it blows then boom when it blows then boom when it blows then boom
Obviously you wouldn't intend to start your scenario with an AndStep, but it's easy enough to get there (or produce one of the other problems) if you are copying/editing scenarios. I think it would be better if AndSteps assume the meaning of the previous step, as intended according to the web documentation.
On http://jbehave.org/reference/latest/concepts.html it states:
"A step starting with And assumes the same meaning of the previous step"
but this clearly isn't the case in practise, nor does it even require any preceeding step type to be defined. For example with:
public class Steps extends org.jbehave.scenario.steps.Steps {
@When("the wind blows")
public void theWindBlows() { System.err.println("when it blows then boom"); }
@Given("the wind blows")
public void theWindBlows2() { System.err.println("given it blows then boom"); }
}
Scenario: Test
And the wind blows
Given the wind blows
And the wind blows
When the wind blows
And the wind blows
Outputs:
when it blows then boom
given it blows then boom
when it blows then boom
when it blows then boom
when it blows then boom
Obviously you wouldn't intend to start your scenario with an AndStep, but it's easy enough to get there (or produce one of the other problems) if you are copying/editing scenarios. I think it would be better if AndSteps assume the meaning of the previous step, as intended
according to the web documentation.