0
    Scenario Outline: list of data in data table
       Given I have <numbers>
        When I sum its
        Then I should see <result>
    Examples:
       | numbers | result |
       | 1 2     | 3      |
       | 1 2 3   | 6      |
       | 1 2 3 4 | 10     |

    Scenario: list of data in a step
       Given I have numbers: 1, 2, 3
        When I sum its
        Then I should see 6

请注意,我在第一个示例中使用空格来添加数字,而在第二个示例中我使用逗号 (,)。

4

1 回答 1

0

是的,这两种方法都没有问题。

https://github.com/cucumber/cucumber/wiki/Scenario-Outlines中所述,Scenario Outline 仅使用参数表值的文本替换生成一组场景。根据我所做的有限测试,Cucumber 似乎会忽略表条目中的前导和尾随空格,因此,numbers值将是字符串“1 2”、“1 2 3”和“1 2 3 4”案子。

一旦生成了各个场景,它们就会像任何其他场景一样被处理,并与标准模式匹配进行匹配。

唯一需要注意的是,您的步骤定义将需要考虑您使用的任何语法。在你的情况下,虽然你可以使用:

Given I have 1 2 3

或者

Given I have numbers: 1, 2, 3

你的模式需要适应你使用的任何格式。

至于特殊字符,包括单引号和双引号,我认为几乎可以使用任何东西。唯一会变得棘手的部分是,如果您想在一行中包含一个行尾字符Given或在数据表中包含一个竖线。请记住,就您的场景和步骤定义而言,“这只是文本”。您只需要确保您的模式与您的示例相匹配。

于 2013-10-25T15:31:20.790 回答