我可以将一个功能文件调用到同一套件中存在的另一个功能文件中吗(调用场景的解决方案也可以)

Can I call one feature file into some another feature file present in same suite (solution for calling scenarios will also do)

我有一个测试套件,其中有多个 BDD 场景存在于不同的功能文件中,如下所述,

**FeatureFile1**

Scenario: User is performing 123 funtionality

Given A,B,E,F,G
When User does A
Then Output is Aresult
When User does B
Then Output is Bresult
When User does E
Then Output is Eresult
When USer does F
Then Output is Fresult
When User does G
Then Output is Gresult


**FeatureFile2**

Senario: User is performing 4567 functionality

Given M,N,A,B,E,F,G,P,Q
When User does M
Then Output is Mresult
When User does N
Then Output is Nresult
When User does A
Then Output is Aresult
When User does B
Then Output is Bresult
When User does E
Then Output is Eresult
When USer does F
Then Output is Fresult
When User does G
Then Output is Gresult
When User does P
Then Output is Presult
When User does Q
Then Output is Qresult



**FeatureFile3**

Senario: User is performing 890 functionality
Given U,V,A,B,E,F,G,X,Y,Z
When User does U
Then Output is Uresult
When User does V
Then Output is Vresult
When User does A
Then Output is Aresult
and User does B
Then Output is Bresult
When User does E
Then Output is Eresult
When USer does F
Then Output is Fresult
When User does G
Then Output is Gresult
When User does X
Then Output is Xresult
When User does Y
Then Output is Yresult
When User does Z
Then Output is Zresult

如果你仔细看我的第一个特征文件在我的第二个和第三个文件中完全重复(在步骤之间)。

有什么方法可以使用单行调用其他文件中的第一个特征文件(FeatureFile2 知道它必须调用 FeatureFile1,对于其他情况也是如此)

这些将减少我的复制和粘贴,而且我的其他场景(冗长的场景)看起来紧凑且美观。由于我是 BDD 和 C# 的新手,希望得到帮助。我试着寻找解决方案,但找不到任何具体的东西。

如果我可以在 FeatureFile2 中调用 FeatureFile1 中存在的场景...那也行。

应该写什么代码????

使用 Specflow 的框架 || 编码语言 C# || BDD 语言 Gherkin

我通常解决这种情况的方法是创建一个包含其他几个步骤的步骤,然后在第二个和第三个功能中调用它。您可以在

中看到这种方法的示例

我们使用 vstest 控制台。 例如, 当场景没有准备数据时, 在第一步中,我们 运行 数据准备的特殊功能 How do I launch application one from another in C#?

关于控制台的参数 运行ning 是这个 How do you run SpecFlow scenarios from the command line using MSTest?