有没有办法将场景大纲中的字符串列表转换为Object,例如:
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) {
我知道你可以使用数据表传递一个Object列表,但这不是我想要的。场景轮廓的优点是每条线都是从干净状态重复出来的。
答案 0 :(得分:1)
您可以重复使用DataTable for ScenarioOutline示例的登录名。示例表中的每一行都与您说的一样简洁。
修改要素和步骤定义以使用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);
}