Scenario A:
Step A - PENDING
Step B - PENDING
Scenario B:
Step C - Implemented
Step D - Implemented
运行故事时,步骤C和D设置为未执行。即使方案A由于挂起的步骤而失败,如何让它们运行?
我已经尝试将PendingStepStrategy设置为PassingUponPendingStep(和FailingUponPendingStep),但它没有什么区别。
答案 0 :(得分:8)
JBehave可以配置为在场景之间跟踪状态。我认为这样做的原因是为了说明何时想要有相互关联的场景。
如果您检查使用的配置,那么您应该能够看到StoryControls集上是否有某个参数。
例如
Configuration configuration = new MostUsefulConfiguration()
.useStoryControls(new StoryControls().doResetStateBeforeScenario(false))
...
如果您具有上述设置,则不会执行其他方案,因为保留了故障状态
您可以在配置中使用JBehaves MostUsefulConfiguration类而无需额外配置,因为默认情况下doResetStateBeforeScenario设置为true。
答案 1 :(得分:0)
无论如何都要运行这些步骤。我认为您在声明场景的行中可能有错误,而JBehave认为这四个步骤属于同一场景。
场景由令牌场景分隔,例如
Scenario: Use a pattern variant
When the item cost is 10.0
When the price is 10.0
When the cost is 10.0
Scenario: Use a aliases variant
Then the item price is 10.0
Then the item price becomes 10.0
Then the item price equals to 10.0
即使第一个场景中的任何步骤失败,第二个场景也会运行。