gpt4 book ai didi

java - Cucumber:无法将 DataTable 转换为 List。有一个表格单元格转换器,但表格太宽而无法使用

转载 作者:行者123 更新时间:2023-12-02 01:14:29 25 4
gpt4 key购买 nike

功能文件:

Scenario: Login to application
Given I open my application
And I login with following credentials
| admin | pass1234 |

步骤定义:

@When("^I login with following credentials$")
public void i_login_with_following_credentials(DataTable dt) {
List<String> list = dt.asList(String.class);
System.out.println("Username - " + list.get(0));
System.out.println("Password - " + list.get(1));
}

错误:

io.cucumber.datatable.UndefinedDataTableTypeException: Can't convert DataTable to List<java.lang.String>.
There was a table cell converter but the table was too wide to use it.
Please reduce the table width or register a TableEntryTransformer or TableRowTransformer for java.lang.String.

<cucumber.version>5.4.1</cucumber.version>
<junit.version>4.13</junit.version>

能给点建议吗?具体应该添加什么?谢谢。

最佳答案

您正在尝试将数据表转换为字符串列表。因为列表是垂直的,并且 String 可以恰好占据一个单元格,所以 Cucumber 期望您有一张只有一列的表格。

| admin    |
| pass1234 |

但您也可以转置数据表:

List<String> list = dt.transpose().asList(String.class)

或者直接访问单元格:

String username = dt.cell(0,0);
String password = dt.cell(0,1);

关于java - Cucumber:无法将 DataTable 转换为 List<java.lang.String>。有一个表格单元格转换器,但表格太宽而无法使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60675464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com