我不知道为什么,但 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 构建没有错误,但测试中仍然存在失败。
有什么想法吗?