在给定和然后为SpecFlow场景大纲

时间:2016-04-19 09:50:35

标签: bdd specflow gherkin

我正在编写一个具有多个输入和输出参数的specflow场景(每个约4-5个)。使用场景大纲时,我需要编写一个宽表,同时在同一行中提供输入和输出列。有什么方法可以为步骤定义单独指定示例吗?这是为了提高可读性。

当前状态

Given - State of the data
When I trigger action with parameters <input1> and <input2> and ...
Then my output should contain <output1> and <output2> ...

Examples:
| input1 | input2 |... | output1 | output2 |...

我可以这样做吗?

Given - State of the data
When I trigger action with parameters <input1> and <input2> and ...
       Examples of input
Then my output should contain <output1> and <output2> ...
        Examples of output

2 个答案:

答案 0 :(得分:1)

不,不幸的是(或任何类似的)是不可能的。 您可以使输入和输出更抽象,并可能合并几列。示例:而不是Country | PostalCode |城市|街|房子|名字|姓氏|你应该有|地址|职称|价值如&#34;欧盟&#34;,&#34;美国,缺少邮政编码&#34;,&#34; HQ&#34;为了地址。

答案 1 :(得分:0)

您不能为场景大纲提供多个示例表,但可以为常规方案传入数据表。

数据表只能由使用它的步骤访问,但是您可以将其保存在场景上下文中以用于后续步骤。

如果您的方案很复杂且跨越多行但不确定这是否适合您,但我认为我会提及它。

Scenario: Checking outputs for inputs
Given - State of the data
When I trigger action with the following parameters  
input1 | input2 | input3 |
data   | data   | data   |

Then my output should contain the following outputs
output1 | output2  | output3 |
data    | data     | data    |