在“场景大纲示例”部分中为缺少的参数建模

时间:2015-08-12 18:23:55

标签: python gherkin

假设如下:

Scenario Outline: various bits
    When a thing named "bog standard" is created with "<name>", "<path>", and "<type>"
    Then the system should respond with <response>
  Examples:
    | name | path           | type | response |
    |      |                |      | 400      |

对于此输入,不会调用python @When(u'a thing named ...“)带注释的方法。显然,参数必须至少包含一个非空格字符。对于任何包含的测试,我都会得到NotImplementedException缺少价值。

我该如何使这项工作?我想测试缺失的值。我想将None或“”传递给step方法。

另外,如果我想要一个参数的前导空格,我该怎么做?

1 个答案:

答案 0 :(得分:0)

Gherkin非常善于发表意见#34;在解析示例表时。

获得您要求的最简单方法是使用占位符值,例如&#34; none&#34;或&#34; n / a&#34;,并检查步骤定义中的占位符。您可以使用注释来预警读者有关占位符值的信息。  请记住,小黄瓜主要用于人类可读/可编辑。

关于前导空格,目前没有简单的方法可以在示例表中获取它们。在Gherkin项目中有一个issue来解决这个问题。

一些替代方案:

  • 使用占位符,例如代表领先空间的代字号或句号

Examples: | name | response | | ...has three leading spaces | 100 |

  • 将字符串作为引用

When the user inputs " string with one leading space" in the path

  • 使用doc字符串来保存带有前导空格或甚至多行字符串的字符串:

When the user inputs """ This one has three leading spaces """