'And' Step (AndStep) ignores CandidateStep step type

Description

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.

Assignee

Mauro Talevi

Reporter

Tim Moore

Labels

None

Components

Fix versions

Affects versions

Priority

Major
Configure