Это мой файл функций, в котором я выбираю количество студентов из DB1 и DB2, используя SQL-запрос, а затем сравниваю два набора результатов:
Scenario: Verify the student Count
Given Log into DB1
And Execute student count query in DB1
Given Log into DB2
And Execute student count query in DB2
Then Compare DB1 and DB2 student Count
And Close the DB
В файле определения шага я выбираю DB1и DB2 приводят и передают два набора результатов в качестве аргументов в методе определения шага ниже:
public void Compare_DB1_and_DB2_student_Count(ResultSet DB1_count, ResultSet DB2_count ) throws Throwable {
while (DB1_count.next()) {
DB2_count.next();
ResultSetMetaData metadata_count = DB1_count.getMetaData();
int col_count = metadata_count.getColumnCount();
for (int index = 1;index<=col_count;index++) {
if (!DB1.getObject(index).equals(DB2.getObject(index))) {
System.out.println("Test Fail");
}
}
}
System.out.println("Test Pass");
}
Когда я выполняю это, он говорит cucumber.runtime.CucumberException: Несоответствие Arity: с шаблоном [^ Compare_DB1_and_DB2_student_Count $] isзаявлено с 2 параметрами.Однако шаг корнишона имеет 0 аргументов [].
Может, кто-нибудь подскажет, как передать наборы результатов в файл определения функции и шага.