有没有一种方法可以将方案概述中的字符串列表转换为对象,例如:
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);
}