Я использую jmock для запуска некоторых тестов. Я хотел бы, чтобы гарантировать, что сторонняя библиотека будет правильно называть следующую последовательность на JDBC API:Как настроить ожидания на возвращаемое значение издевающегося вызова с помощью jmock?
context.checking(new Expectations() {{
oneOf(connection).prepareStatement("test");
oneOf(statement).setFetchSize(10);
oneOf(statement).executeQuery();
}});
Объект connection
создан как таковой:
Mockery context = new Mockery();
connection = context.mock(Connection.class);
Как создать statement
объект? Я не пробовал это, и не работал:
// This creates an independent PreparedStatement mock, not the one that will be returned
// by the Connection.prepareStatement call
PreparedStatement statement = context.mock(PreparedStatement.class);
// This doesn't return a mock object, which I can pass to the oneOf() method.
PreparedStatement statement = oneOf(connection).prepareStatement("test");
Хах, я не получил, что во-первых, это отсоединен 'будет (...)' DSL элемент, который делает некоторые магии ... Спасибо! –
@ lukaseer Да, в этом отношении mockito чувствует себя немного более естественным. Хотя по моему опыту, каждая макетная структура имеет свои собственные положительные и отрицательные стороны. По сути, каждый вызов метода в ожидании подталкивает дополнительное состояние. –
Ну, как только вы знаете идеи, они, вероятно, в порядке, чтобы жить с ... –