有没有办法将常见的功能文件导入黄瓜的另一个功能文件

时间:2016-11-10 12:07:43

标签: protractor cucumber regression e2e-testing regression-testing

有没有办法将一个黄瓜特征文件导入另一个黄瓜特征文件?这样我就可以将不同流程的重复逻辑/操作/业务验证移动到公共特征文件中。

注意:我正在有效地使用后台选项,例如在每个功能文件中启动应用程序。如果考虑一下,即使背景也是重复的。 :)

非常感谢。

2 个答案:

答案 0 :(得分:1)

无法在另一个功能文件中包含一个功能文件。

如果可以,那么Gherkin可以被认为是一种编程语言。 Gherkin不是一种编程语言,因此缺乏功能或模块等功能。

那么你对重复背景怎么办呢?我的方法可能是看看我是否可以将你在后台执行的常见初始化移动到堆栈中。我会看看是否可以实现一些执行相同步骤的帮助程序,然后将背景最小化为

Given the world is prepared

在后台。或者只是确保在需要它的场景中首先完成准备。甚至可能隐藏它,所以呼叫在第一步完成。这实际上会将背景从特征文件中移开,并将其隐藏在业务利益相关者中。

您应该考虑的一件事是,您的业务利益相关者的背景是否重要?他们关心背景还是对他们来说只是噪音?如果它很重要,那就不要隐藏背景。如果背景不重要,那么尽可能隐藏它们。

答案 1 :(得分:1)

你可以通过抽象和背景处理这个问题。

根据任意数量的先决条件,如果将它们组合在一起并给它们命名,您可以一步调用它们。在黄瓜空间,它更有效地做到这一点,而不是进口。

BDD就是在不同的抽象层次上工作。特别是当您创建某些特定行为时,您将在详细级别上工作。创建行为后,您将以更抽象的方式使用该行为。

导入只允许您访问详细信息。这是一件坏事,因为你最终在同一个地方使用不同级别的抽象,既危险又令人困惑。