【发布时间】:2020-08-28 08:06:40
【问题描述】:
我正在共享一个包含静态方法调用的方法代码。
public List<String> getTestContent() {
DistinctIterable<String> distinctIterable = mongoTemplate.getCollection("test-doc").distinct("testcontent",String.class);
return StreamSupport.stream(distinctIterable.spliterator(),false).collect(Collectors.toList());
}
我需要模拟我共享的这个方法。我尝试了很多方法,但得到了空指针
【问题讨论】:
-
您尝试了什么,您的测试/模拟设置是什么?您要模拟的静态调用在哪里,方法不是
static,唯一的静态调用是不需要模拟的 StreamSupport 和 Collectors。 -
StreamSupport.stream
-
这不是你应该首先模拟的调用,它只是一个没有逻辑的通用实用方法,理论上同样可以简单地内联。
-
那么如何模拟它
-
解决方案:不要嘲笑!
标签: java spring-boot mockito spring-data-mongodb powermockito