【发布时间】:2019-02-14 11:52:37
【问题描述】:
我已将 null 分配给集合,即 MongoCollection<Document> collection = null;
@Override
public List<Document> viewUserData(String conditionVar, String conditionVal) {
List<Document> list = new ArrayList<>();
BasicDBObject whereQuery = new BasicDBObject();
whereQuery.put(conditionVar, conditionVal);
FindIterable<Document> userDocuments = collection.find(whereQuery);
for (Document doc : userDocuments) {
list.add(doc);
}
return list;
}
@Test
public void ViewUserData(){
List<Document> list = new ArrayList<>();
Document doc1=new Document();
doc1.append("1","bharathi");
list.add(doc1);
FindIterable<Document> documents = collection.find(doc1);
Mockito.when(collection.find(Mockito.any(BasicDBObject.class)))
.thenReturn(documents); mdmdaoimpl.viewUserData("1","bharathi");
verify(collection,times(1)).find(doc1);
}
测试代码:
@Test public void ViewUserData() {
List<Document> list = new ArrayList<>();
Document doc1=new Document();
doc1.append("1","bharathi");
list.add(doc1);
FindIterable<Document> documents = collection.find(doc1);
Mockito.when(collection.find(Mockito.any(BasicDBObject.class))).thenReturn(documents);
mdmdaoimpl.viewUserData("1","bharathi");
verify(collection,times(1)).find(doc1);
}
【问题讨论】:
-
@Test public void ViewUserData(){ List
list = new ArrayList();文档 doc1=new Document(); doc1.append("1","bharathi"); list.add(doc1); FindIterable 文档 = collection.find(doc1); Mockito.when(collection.find(Mockito.any(BasicDBObject.class))).thenReturn(documents); mdmdaoimpl.viewUserData("1","bharathi");验证(集合,次(1)).find(doc1); }这是我的测试方法 -
请阅读“如何创建minimal reproducible example”。然后使用edit 链接改进您的问题(不要通过 cmets 添加更多信息)。
-
例如:
collection是什么?是模拟吗?如果是这样,你在哪里定义它?!所以,请minimal reproducible example。永远不要将更多信息放入 cmets,请更新问题! -
而且,错误。集合为空,访问它时您会感到惊讶,它会给您一个 NPE?