(黄瓜)由前置条件引起的长情景

时间:2017-11-13 12:11:07

标签: cucumber specflow gherkin

我必须编写一个Gherkin场景(C#Specflow),它在运行测试之前有一个很大的前提条件,并想知道什么是最好的方法。我必须在表单上填写多个字段并保存并记录创建的表单编号。然后我必须完全相同并创建第二种形式。

然后,该场景的主要目的是测试一个与2个已完成的表单相关联的新函数。

我认为最好的方法是将前期工作作为背景:

Background: Create Form Documents

Given I have logged into the System
And I have accessed the new <formType1> screen
When I complete all the mandatory <formType2> fields
And press the Save button
Then the new document number will be created

    Examples: 
    | formType1            | formType2            |
    | Building Certificate | Building Certificate |
    | Building Certificate | Building Certificate |

然后情景将是:

Scenario:
Given that I have accessed the "CHILD DOCUMENT NUMBER" screen
When I select "ASSOCIATE FORM DOCUMENTS" from the menu
And click the "ADD PARENT FORM DOCUMENT" button 
And I enter the "PARENT SAFETY DOCUMENT NUMBER" in the Search field
And click on the "SEARCH" button
And click the "SELECT" button   
Then the diagram should show "PARENT DOCUMENT NUMBER" as a parent of "CHILD DOCUMENT NUMBER"

我已经读到了在场景之间传递数据的一个坏主意,所以最好的方法就是将所有这些都归结为一个场景,实际上是背景步骤TWICE,然后是主场景?我正在尝试重用现有的步骤,并使场景简洁明了。有关正确方法的任何建议吗?

1 个答案:

答案 0 :(得分:0)

Given I have two “Building Certificate” document numbers
When I associate the child document with the parent document
Then the parent safety document diagram should show the association

在此范围内,您将编写创建两个文档的方法,并将文档编号分配给数组变量。

进行关联时,将第一个作为父关联并将其与第二个关联。

这样,您只需完成一个场景。