0
Scenario A:
Step A - PENDING
Step B - PENDING

Scenario B:
Step C - Implemented
Step D - Implemented

运行故事时,步骤 C 和 D 设置为 NOT PERFORMED。即使方案 A 由于未决步骤而失败,我如何让它们运行?

我尝试将 PendingStepStrategy 设置为 PassingUponPendingStep(和 FailingUponPendingStep),但它没有任何区别。

4

2 回答 2

9

JBehave 可以配置为跟踪场景之间的状态。我相信这样做的原因是考虑到您何时想要拥有彼此相关的场景。

如果您检查您使用的配置,那么您应该能够查看您是否在 StoryControls 集上有某个参数。

例如

Configuration configuration = new MostUsefulConfiguration()
    .useStoryControls(new StoryControls().doResetStateBeforeScenario(false))
...

如果你有上面的设置,它不会执行其他场景,因为失败状态被保留

您可以在配置中使用 JBehaves MostUsefulConfiguration 类而无需额外配置,因为 doResetStateBeforeScenario 默认设置为 true。

于 2012-12-19T14:05:42.040 回答
0

这些步骤无论如何都应该运行。我认为您在声明场景的行中可能有错误,而 JBehave 认为这四个步骤属于同一场景。

场景由令牌Scenario:分隔,例如

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

即使第一个场景中的任何步骤失败,第二个场景也会运行。

于 2012-08-30T08:58:12.403 回答