Как передать sql набор результатов в качестве аргумента в файле объектов? - PullRequest
0 голосов
/ 20 ноября 2018

Это мой файл функций, в котором я выбираю количество студентов из 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 аргументов [].

Может, кто-нибудь подскажет, как передать наборы результатов в файл определения функции и шага.

...