如何将cucumber.api.Datatable转换为List <myclass>,并在数据表中包含2个以上的col </myclass>

时间:2015-04-02 11:47:17

标签: java cucumber-jvm

Gherkin声明是:

And Instruments,Shareprice,Quantities to be added are
|name    |sal   |address|
|xyz     |100   |Greek  |
|abc     |200   |Italy  |   

步骤def是:

@Given("My emp details are $")
public void my_emp_details_are(DataTable arg1) throws Throwable {
    List<EMP> lstemp= arg1.asList(EMP.class);
}

生成异常: cucumber.runtime.CucumberException:没有这样的字段datastructure.EMP.emps

EMP是具有3个字段的类:

嘿,我是Java新手我看过asList()我不明白的文档 public List asList(Class itemType)

类型参数:     T - 列表项的类型 参数:     itemType - 列表项的类型

1 个答案:

答案 0 :(得分:3)

作为替代方案,您可以将List作为输入参数而无需进一步转换。

@Given("My emp details are $") 
public void my_emp_details_are(List<EMP> lstemp) throws Throwable {}

如果您的EMP有3个字段(使用setter方法)名称,sal和地址