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最终解决了我的问题,因为它允许模拟最终方法.

相关文章

MongoTemplate 是Spring Data MongoDB 中的一个核心类,为 S...
笔者今天要分享的是一个项目重构过程中如何将数据库选型由原...
mongodb/mongoTemplate.upsert批量插入更新数据的实现
进入官网下载官网安装点击next勾选同意,点击next点击custom...
头歌 MongoDB实验——数据库基本操作
期末考试复习总结