我的实现中有以下代码行:
myService.getTypes(new TypeRequest(myList.stream().map(Object::toString)
.collect(Collectors.toList())))
我试着在我的测试课上模仿上述内容,如下所示:
when(myService.getTypes(new TypeRequest(Lists.newArrayList("15", "16"))))
.thenReturn(Lists.newArrayList(type1, type2));
when(myService.getTypes(new TypeRequest(Lists.newArrayList("25", "26"))))
.thenReturn(Lists.newArrayList(type3, type4));
但是当我调试测试代码时,我可以看到myService。getTypes正在返回一个空列表。有什么问题?
还有,有没有办法使用args来简化上述模拟?我发现的只是使用传递到方法中的参数,而不是传递到方法中的参数。
找到解决方案:
when(myService.getTypes(any(TypeRequest.class)))
.thenAnswer(invocationOnMock -> {
TypeRequest r = invocationOnMock.getArgument(0);
//if r contains "15"
return Lists.newArrayList(type1, type2);
} else {
return Lists.newArrayList(type3, type2);
}
});
我们有一个方法,其中我们收到一个
当我在一个涉及Java8新流的项目中工作时,我注意到当我对流调用时,它返回的是而不是。尽管我很惊讶,但我开始深入研究Java 8的源代码,找不到为什么他们没有将实现为的任何理由。这背后有什么道理吗,还是仅仅是一种(在)一致性? 编辑1:我在回答中注意到很多人说这是不可能的,但是这个代码段编译并返回预期的结果?
有人能告诉我为什么未定义this.userDataObserver的变量会导致.next()函数失败吗?在这里撞我的头。 我需要将一些数据推送到可以从其他组件访问的服务变量中(尽量避免使用本地存储)。 有人能帮我理解为什么这个变量在类中被明确设置时是未定义的吗? }
我使用了以下SQL语句。getSingleResult()从EntityManager获取对象:
问题内容: 为了获取今天时间对象的本地开始时间,我提取了YMD并重建了新的日期。看起来像是在跳动。我还会错过其他一些标准库功能吗? 代码也可以在http://play.golang.org/p/OSRl0nxyB7上运行: 问题答案: 问题的标题和正文都要求“今天开始是当地的(芝加哥)”。问题中的函数正确地做到了这一点。接受功能的权利要求是更好的解决方案,但它返回一个不同的结果; 它不会在今天开始
首先,我收到来自post string属性和来自控制器的inputStream。 接下来,我的服务调用ParseGeojosnStream以流式传输文件的内容。 接下来,传递特性的名称和列表,并将其插入表中。 最后,使用字符串属性和表名作为id创建scheme。 那么,当强制转换为json并将其存储在数据库中时,为什么要返回一个空的属性对象呢? 代码如下: log.info(“jsonGeomet