Groovy Метод Mock Resulset next () имеет значение false - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь смоделировать набор результатов с помощью GROOVY CLASS, но выдает ошибку:

com.convio.exception.CVSQLException: Error in getting the next alertId from the sequence

при запуске теста

Вот код из Groovy Class

ResultSet rs = Mock(){
        }

        PreparedStatement ps = Mock(PreparedStatement) {
            executeQuery() >> rs
        }

        Statement statement = Mock(Statement) {
            executeQuery(_) >> rs
        }

        Connection connection = Mock(Connection) {
            prepareStatement(_) >> ps
            createStatement() >> statement
        }

в классе Java, кажется, что rs.next имеет значение false, и alertId никогда не назначается:

try {
            con = cvSession.getConn();
            stmt = con.prepareStatement(query);
            rs = stmt.executeQuery();
            if(rs.next())
            {
              alertId = rs.getInt(1);
            }
            else {
               throw new CVSQLException("Error in getting the next alertId from the sequence");
            }
            rs.close();
            stmt.close();
       }

Как я могу проверить свой groovy класс для передачи метода rs.next ()?

...