如何从不同的解决方案重用SpecFlow步骤

时间:2018-04-25 17:35:00

标签: c# automated-tests cucumber specflow

我是SpecFlow的新手,我想在解决方案之间重复使用步骤/测试(基本上是.feature文件)。我知道有一种方法可以通过添加对项目的引用来重用同一解决方案中的项目之间的步骤,但我不确定如何对不同的解决方案做出基本相同的事情。感谢您对此提供任何帮助。

3 个答案:

答案 0 :(得分:1)

您无法重复使用.feature文件,但可以重复使用步骤定义和挂钩。

您必须添加对项目的引用。

以下是如何在Visual Studio中引用项目的链接:Link

答案 1 :(得分:0)

我认为不可能使用其他解决方案中的步骤。您需要将它们包含在某个工作解决方案中以便使用它们。我不认为Visual Studio可以让您使用解决方案间代码,除非您已经编译并在您的工作解决方案中引用它。

答案 2 :(得分:0)

这样做有点反模式。拥有功能文件的原因是讨论应用程序的作用以及为什么它很重要。因此,要素文件应包含应用程序域独有的内容,项目之间不会有太多重叠

当你以这种方式编写功能时,即使是普通的功能也不值得分享,因为复杂性超过了再次做事的简单性。

例如登录已经成熟,可以在应用程序之间共享,但功能中只需要

Given I am registered
When I login
Then I should be logged in

这非常简单,只需为第二个应用程序编写另一个。

人们多年来分享的大多数步骤都是关于如何完成的事情,例如:点击事物,填写字段等。这些通常会导致臃肿的场景,而且成本再次超过了收益。

如果您仍然觉得应用程序之间存在很多共享行为,则可能存在架构问题,您需要将共享行为提取到其自己的应用程序中,并让您的应用程序委派责任。