我想使用 dataprovider 将数据直接传递到步骤定义而不从功能文件传递,因为我也想传递空值。这就是我正在做的事情。
场景:当该字段为空并单击提交时,用户应该获得空字段突出显示。在提供 nthier 或 Reg Id 或 PC 中的值后单击提交时
@Test(dataProvider = "getData")
@When("^Submit is clicked after providing values in nethier or either of Reg Id or PC$")
public void submit_is_clicked_after_providing_values_in_nethier_or_either_of_reg_id_something_or_pc_something(
String regvalue, String pcvalue) throws Throwable {
//code
}
@DataProvider
public Object[][] getData() {
Object[][] data = new Object[3][2]; // 3 is number of combinations and 2 is number of values
// 1st set
data[0][0] = "Username1";
data[0][1] = null;
// 2nd set
data[1][0] = null;
data[1][1] = "Password1";
// 3nd set
data[2][0] = null;
data[2][1] = null;
return data;
}
我得到的错误是
步骤 [^Submit 在提供 nthier 或 Reg Id 或 PC$ 中的值后单击] 是用 2 个参数定义的工作区/CucumberProject.CitiCommCard/target/test-classes/'。但是,小黄瓜步骤有 0 个参数。