1

我的 BDD 测试中的每个故事都从相同的步骤开始。有什么方法可以参考这些步骤,或者以某种方式“参考”可重复的故事。提取这个公共部分的最佳方法是什么?目前,我正在使用@CompositeJBehave 提供的注释。

4

2 回答 2

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

于 2016-09-27T10:57:19.853 回答
1

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

这样做是为每个场景从后台执行步骤。一个缺点是,如果背景失败,则该功能的所有场景都将被跳过,该功能将被标记为失败。

我猜是假设如果这些步骤很常见并且它们失败了一次,那么它们每次都会失败。您可以在 JBehave文档中看到一个示例。

于 2016-09-23T13:17:32.703 回答