JBehave

'And' Step (AndStep) ignores CandidateStep step type

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 2.5.1
  • Fix Version/s: 2.5.2, 3.0
  • Component/s: Core
  • Labels:
    None
  • Number of attachments :
    0

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.

Activity

Hide
Mauro Talevi added a comment -

The candidate step matching has been enhanced to support the previous step type when matching AND steps.

If an AND step has no previous step (i.e. it starts a scenario) it will be marked as pending.

Created and_step.scenario in trader example to verify behaviour.

Show
Mauro Talevi added a comment - The candidate step matching has been enhanced to support the previous step type when matching AND steps. If an AND step has no previous step (i.e. it starts a scenario) it will be marked as pending. Created and_step.scenario in trader example to verify behaviour.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: