小编kce*_*eee的帖子

黄瓜Java将数据表转换为特定类型

我想在特征文件中使用数据表,并在步骤定义中将内容转换为单个特定类型。例如,我希望能够将以下数据表转换为User类的单个实例。

 Given the user is
    | firstname  | lastname  | nationality |
    | Roberto    | Lo Giacco | Italian     |
Run Code Online (Sandbox Code Playgroud)

用户类:

class User {
    String firstName;
    String lastName;
    Nationality nationality;
//getters / setters / etc
}
Run Code Online (Sandbox Code Playgroud)

步骤定义:

 @Given("^the user is$")
 public void the_user_is(User user) {
     this.user = user;
 }
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此命令时,出现以下错误:

banana.runtime.CucumberException:黄瓜.runtime.CucumberException:不是地图或列表类型:类example.User

该文档建议可以将数据表转换为单个对象。

黄瓜转置API文档

但是,通过检查代码,看起来它总是会返回一个列表。该代码段来自cucumber / runtime / table / TableConverter.convert(DataTable dataTable,类型,布尔值转置):

Type itemType = listItemType(type);
if (itemType == null) {
    throw new CucumberException("Not a Map or List type: " + …
Run Code Online (Sandbox Code Playgroud)

java cucumber

5
推荐指数
1
解决办法
3788
查看次数

标签 统计

cucumber ×1

java ×1