在黄瓜中使用背景变量

Ren*_*mer 5 ruby tdd cucumber

我正在尝试运行一个功能文件,如下所示:

Feature: my feature

Background:
  When I do something
  And I choose from a <list>

Scenario Outline: choice A
  And I click on <something> after the choice A is clicked

Examples:
  | list | something |
  |  a   |   1  |
  |  b   |   2  |
  |  c   |   3  |
Run Code Online (Sandbox Code Playgroud)

但是,当第二个Background步骤在步骤定义中运行时,会发生什么情况,list该字符串是具有value的String <list>,而第一个Scenario行something1,那么Background不能使用Examples中的变量吗?将示例副本放在方案大纲之前不起作用。

小智 2

你的问题的答案是:不。背景不是场景大纲。它不采用示例中的值,示例专门用于包含它的场景大纲。假设您有几个场景大纲。他们每个人都应该有自己的示例部分,并且它们之间不共享。因此,它也不与背景共享。这就是为什么当您将示例移到场景大纲之前时它不起作用,正如您在问题中提到的。