黄瓜再利用的例子

时间:2014-01-20 23:22:52

标签: cucumber

我想在"When I sign up with the following information"行中使用下面代码中的示例,而不必指定每个参数,也不必重复示例中的表。

这可能吗?

Scenario Outline: signing up a user that already exists
    Given I am registered as "<username>" with password "<password>"
    When I sign up with the following information
    Then I should be on the sign up page
    And I should see "user already registered"
    Examples:
       | email        |   username  | name        |   password    |  password_confirmation    |    city       |  mobile_numbers |
       | foo@bar.com  |   existent  | some user   | temp123       | temp123                   |     foobar    |  70 707070      |

1 个答案:

答案 0 :(得分:0)

当您生成黄瓜项目文件夹时,该结构将在features文件夹内的support目录中包含一个名为env.rb的ruby文件(以及step_definitions文件夹)。在这里,您可以定义您的方法,变量等,它们将作为同一项目中所有其他测试的公共源。

由于Cucumber是Ruby gem,因此数据以Ruby的格式定义。您可以将它们定义为方法或变量。我更喜欢将它们定义为方法(在ruby中,方法返回它们的最后一行)。所以你的方法看起来像

    def email
        "foo@bar.com" # returns this when email is called
    end

    def username
        "existent"
    end

依旧......

您可以根据自己的需要进行优化。您将在ste_definition文件中调用它们,就像调用任何普通的ruby函数一样。