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