如何让JBehave忽略失败的场景?

edw*_*yte 0 jbehave

Scenario A:
Step A - PENDING
Step B - PENDING

Scenario B:
Step C - Implemented
Step D - Implemented
Run Code Online (Sandbox Code Playgroud)

运行故事时,步骤C和D设置为未执行.即使方案A由于挂起的步骤而失败,如何让它们运行?

我已经尝试将PendingStepStrategy设置为PassingUponPendingStep(和FailingUponPendingStep),但它没有什么区别.

Lea*_*mer 8

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

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

例如

Configuration configuration = new MostUsefulConfiguration()
    .useStoryControls(new StoryControls().doResetStateBeforeScenario(false))
...
Run Code Online (Sandbox Code Playgroud)

如果您具有上述设置,则不会执行其他方案,因为保留了故障状态

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