【发布时间】:2019-07-05 18:26:39
【问题描述】:
努力模拟在 Java/Mongo 中使用 AggregateIterable 时要返回的内容。
我尝试过使用 MongoCursor,但很难理解这一点。我想为此使用单元测试涵盖所有路径。使用 mockito 和 testNG 的最佳方法是什么。
public List<User> getAggregatedList(User user){
AggregateIterable<User> agg = collection.aggregate(pipeline, User.class)
List<User> users = new ArrayList<>();
if (agg != null){
Iterator<User> it = agg.iterator();
while(it.hasNext()){
users.add(it.next());
}
}
return users;
}
我应该能够编写一个测试,例如:
...
expected = Arrays.asList(user1,user2...)
verify(result,expect)
【问题讨论】:
-
你想测试什么 - getAggregatedList 方法的返回?然后你可能想模拟集合,但是你的代码没有显示足够的东西来决定它是否可以被模拟。此外,如果您所指的验证方法应该是 Mockito.verify ,那么您误解了该方法的目的。
标签: mongodb mockito aggregation-framework testng