Automated tests 命名Cucumber的数据表

Automated tests 命名Cucumber的数据表,automated-tests,cucumber,bdd,python-behave,Automated Tests,Cucumber,Bdd,Python Behave,我在表单上创建的测试用例可能包含50多个参数,其中一些会在特定问题得到明确回答时出现 数据表变得很长,所以我将它们分成多个数据表,每个数据表对应于表单的特定部分 我不想在步骤中添加每个标题,所以我想改用数据表的名称 而不是: Scenario: . . . When I fill in <title> <first name> <surname> ... |title|first name|surname|...| . . . 我想:

我在表单上创建的测试用例可能包含50多个参数,其中一些会在特定问题得到明确回答时出现

数据表变得很长,所以我将它们分成多个数据表,每个数据表对应于表单的特定部分

我不想在步骤中添加每个标题,所以我想改用数据表的名称

而不是:

Scenario:
.
.
.
When I fill in <title> <first name> <surname> ...
   |title|first name|surname|...|
   .
   .
   .
我想:

When I fill in <personal details>
And "personal details":
   |title|first name|surname|...|
   .
   .
   .
是否可以添加并使用数据表的名称作为占位符


注意:我正在使用Behave和Python

我不确定你在问什么,但是如果你在不同的场景中使用相同的细节,那么最好使用Cucumber的Background选项。因此,在执行每个场景之前都会对其进行检查。

使用该语法肯定是不可能的

如果您没有太多行,并且您主要关心的是非常宽的表的可读性,那么一个选项可能是如下所示转置表:

When I fill in the personal details
    | Field    | Value    |
    | Title    | Prof.    |
    | Surname  | Einstein |
    | ...      |          |
Background:
    Given the personal details for 'minimal personal details'
        | Surname | First name | 
        | Doe     | John       |

    And the personal details for 'insufficient personal details'
        | First name |
        | Jack       |

    And the personal details for 'all personal details'
        ...

    ...

    When I fill in personal details using 'insufficient personal details'
另一个选项是在后台定义重复的属性集,如下所示:

When I fill in the personal details
    | Field    | Value    |
    | Title    | Prof.    |
    | Surname  | Einstein |
    | ...      |          |
Background:
    Given the personal details for 'minimal personal details'
        | Surname | First name | 
        | Doe     | John       |

    And the personal details for 'insufficient personal details'
        | First name |
        | Jack       |

    And the personal details for 'all personal details'
        ...

    ...

    When I fill in personal details using 'insufficient personal details'
后台绑定在上下文中注册数据,“when”绑定使用上下文中的数据


在这两种情况下,您都需要一个能够容忍缺失属性并捕获未知属性的绑定。

Gherkin中的表是一个真实数据视图,表示列的子集以及感兴趣的行。出于可读性的原因,并且有人理解您正在做什么,您最多应该有7个加减2列。也许,剩余的数据可以从配置文件或配置文件数据库中注入?!?基本上,您可以使用提供的表列作为键来选择配置行并从配置配置文件中检索其余数据。

在某些情况下,我希望更改数据,例如,不同的用户在表单中有自己的旅程。因此,我不使用背景选项。表单长达5页,包含大量数据。我在找一些黄瓜的骗子。而不是有一个很长的步骤,当我填写。。。。。。。。我需要一个简洁的自我描述步骤,例如,当我填写个人详细信息时,因此我正在寻找一种方法,将姓名(例如个人详细信息)分配给Behave的数据表。