有没有一种方法可以将方案概述中的字符串列表转换为对象,例如:

Scenario Outline: eligibility rules
    When I specify habitation details
      | <you_are> | <nature> | <pro> |

 Examples:
      | you_are| nature | pro |
      | PNO | Living | No |
      | PO | Pro | yes |


进入:

class Entry {
   String you_are;
   String nature;
   String pro ;
}

@When("I specify habitation details")
    public void specifyHabitationDetails(Entry entry) {


我知道您可以使用数据表传递对象列表,但这不是我想要的。方案大纲的优点是每行从干净状态开始重复。

最佳答案

您可以为ScenarioOutline示例重用DataTable的登录名。示例表中的每一行都会如您所说的那样干净。

修改您的功能和步骤定义以使用DataTable。标头应与Entry类中的变量名称匹配,以使Cucumber自动创建对象,并在Entry类中提供3 arg构造函数。

When I specify habitation details
 | you_are   | nature   | pro   |
 | <you_are> | <nature> | <pro> |


示例部分保持不变...

@When("I specify habitation details")
    public void specifyHabitationDetails(List<Entry> entry) {

          Entry e = entry.get(0);
    }

10-07 16:02
查看更多