微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – mongodb mockito不能一起工作?

我正在尝试在我的java代码中为mongodb设置模拟,我得到以下异常:

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

解决方法:

刚发现问题,find(DBObject obj)方法在DBCollection中是最终的:

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

PowerMock最终解决了我的问题,因为它允许模拟最终方法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐