mongodb + mockito не работают вместе? - PullRequest
4 голосов
/ 05 ноября 2011

Я пытаюсь настроить mock для mongodb в своем Java-коде, и получаю следующее исключение:

org.mockito.exceptions.misusing.WrongTypeOfReturnValue:
DBCursor$$EnhancerByMockitoWithCGLIB$$fc4f0e22 cannot be returned by getOptions()
getOptions() should return int

Строка кода, которая генерирует это:

when(col.find(query)).thenReturn(cursor);

Если col - это поддельное DBCollection, запрос - это поддельный DBObject, а курсор - это смоделированный DBCursor.

Я нашел следующее очень расплывчатое, но, вероятно, соответствующее описание проблемы:

http://osdir.com/ml/mongodb-user/2010-08/msg02102.html

1 Ответ

4 голосов
/ 05 ноября 2011

Только что обнаруженная проблема, метод find (DBObject obj) является окончательным в DBCollection:

http://grepcode.com/file/repo1.maven.org/maven2/org.mongodb/mongo-java-driver/2.1/com/mongodb/DBCollection.java

PowerMock, в конечном счете, решил мою проблему, так как он позволяет высмеивать финальные методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...