JBehave - 重用/引用已有故事的最佳方式

时间:2016-09-22 15:06:03

标签: bdd jbehave serenity-bdd

我的BDD测试中的每个故事都是从同一堆步骤开始的。 有没有办法引用这个步骤,或者可能以某种方式“引用”可重复的故事。 提取这个共同部分的最佳方法是什么? 目前,我正在使用JBehave提供的@Composite注释。

2 个答案:

答案 0 :(得分:1)

解决方案是使用背景场​​景。

这样做是为每个方案执行Background的步骤。 缺点是如果后台失败,那么将跳过该功能的所有场景,并将该功能标记为失败。

我想是假设如果步骤是常见的并且它们失败了一次那么它们每次都会失败。 您可以在JBehave documentation中看到一个示例。

答案 1 :(得分:1)

您可以通过设置故事中的所有步骤来使用 GivenStories ,并在其他故事中调用它:

GivenStories: path/to/precondition2.story,
          ...
          path/to/preconditionN.story

Given ... // normal scenario steps

您还可以将参数发送到这些步骤:

Scenario:  A scenario in which the user can run other stories as pre-requisites
       parametrized using the rows of the Examples table

GivenStories: path/to/precondition.story#{0},
          path/to/precondition.story#{1}

Given ... // normal scenario steps

Examples:
|One|Two|
|uno|due|
|un|deux|

参考:http://jbehave.org/reference/stable/given-stories.html