4

我不知道为什么,但 JBehave 没有考虑给定故事中的失败。如果给定故事发生故障,它将不会执行该故事的其余步骤,但会执行给定故事的其余部分。这是一个例子:

GivenStories: stories/web/pmv/Story1.story,
stories/web/pmv/Story2.story,
stories/web/pmv/Story3.story,
stories/web/pmv/Story4.story,
stories/web/pmv/Story5.story

When the user do something
Then something happens

例如,如果 Story2.story 失败,我期望给定故事的其余部分和最后两个步骤都没有执行。但他们是。

有谁知道这是为什么? 如果一个步骤或故事失败了,我怎么能失败所有故事?

我还注意到,报告统计数据只反映了最后一个给定的故事和以下步骤。这个对吗?为什么?

我有以下配置:

configuredEmbedder().embedderControls()
.doGenerateViewAfterStories(true)
.doIgnoreFailureInStories(false)
.doIgnoreFailureInView(false)
.useThreads(2)
.useStoryTimeoutInSecs(60);

最有用的配置:

 .useStoryControls(
     new StoryControls()
     .doDryRun(false)
     .doSkipScenariosAfterFailure(true)
     .doResetStateBeforeScenario(false))

当我添加配置doResetStateBeforeScenario(false)时,失败后的以下步骤,即使是givestories里面的那些也没有执行。但到目前为止,统计数据显示没有错误,因为它不是最后给出的故事或主要故事的步骤。最后,maven 构建没有错误,但测试中仍然存在失败。

有什么想法吗?

4

1 回答 1

2

好的。经过一番搜索,我设法发现这个问题在 JBehave 3.8 中得到了修复。

JIRA 链接:http: //jira.codehaus.org/browse/JBEHAVE-841

我更新到最新的 jbehave 版本,这工作正常。

于 2014-06-04T06:25:09.653 回答