场景大纲小黄瓜步骤参数设置

问题描述 投票:0回答:1
In the feature file, Scenario Outline, eg, 

When user enters "<userName>"

Examples:

|userName|
|xxxx|

问题是我有时看到将占位符 userName 放在“<>”内,而其他时候则没有双引号 <>。我看了一些你们的视频,像往常一样,每个人都只是打字然后走。有什么区别吗?如果它必须传递字符串或数字?

无法应用于测试中的应用程序

这个格式要求浪费我的时间。我应该能够以任何方式发帖并且有人可以提供帮助......

cucumber gherkin scenarios
1个回答
0
投票

场景大纲是多次重复场景的语法糖。例如,如果您有

Feature: Examples Tables

  Scenario Outline: Eating cucumbers
    Given there are "<start>" cucumbers
    When I eat <eat> cucumbers
    Then I should have <left> cucumbers

    Examples: These are passing
      | start  | eat | left |
      | twelve |   5 |    7 |
      | twenty |   5 |   15 |

也可以写成

Feature: Examples Tables

  Scenario: Eating cucumbers
    Given there are "twelve" cucumbers
    When I eat 5 cucumbers
    Then I should have 7 cucumbers

  Scenario: Eating cucumbers
    Given there are "twenty" cucumbers
    When I eat 5 cucumbers
    Then I should have 15 cucumbers

因此,使用

"<..>"
或仅使用
<..>
并不重要。尖括号之间的内容被替换。

重要的是你的步骤定义。这些可能是

@Given("^there are \"(.*)\" cucumbers$")
@When("^I eat (.*) cucumbers$")

"
是步骤的一部分时,它们也必须包含在步骤定义中。

或者如果您使用 Cucumber 表达式:

@Given("there are {string} cucumbers")
@When("I eat {int} cucumbers")

那么

{string}
假设所匹配的参数两边都有
"

编辑:

我确实看到你在使用Behave。如果它的工作原理与 Cucumber-JS、Cucumber-Java 等完全相同,我不是 100%,但它可能已经足够接近了。

© www.soinside.com 2019 - 2024. All rights reserved.