public interface IRemoteStore {
<T> Optional<T> get(String cacheName, String key, String ... rest);
}
当我用mockito模拟它并在以下情况下使用该方法时:
Mockito.when(remoteStore.get("a", "b")).thenReturn("lol");
我得到了错误:
无法解析方法“then return(java.lang.String)”
Mockito.<Optional<String>>when(remoteStore.get("cache-name", "cache-key")).thenReturn
(Optional.of("lol"));
String returnCacheValueString = "lol";
Optional<Object> returnCacheValue = Optional.of((Object) returnCacheValueString);
Mockito.<Optional<Object>>when(remotestore.get("cache-name", "cache-key")).thenReturn(returnCacheValue);
但是上面返回的是可选的'<'object'>'和非可选的'<'string'>的实例。
为什么我不能直接返回一个可选的'<'string'>'实例呢?如果可以的话,我该怎么做呢?
返回的模拟预期返回类型与被模拟对象的返回类型匹配。
错误是:
Mockito.when(remoteStore.get("a", "b")).thenReturn("lol");
“lol”
不是可选
,因此它不会接受该值作为有效的返回值。
当你这么做的时候它起作用的原因
Optional<Object> returnCacheValue = Optional.of((Object) returnCacheValueString);
Mockito.<Optional<Object>>when(remotestore.get("cache-name", "cache-key")).thenReturn(returnCacheValue);
因为ReturnCacheValue
是可选的
。
这很容易修复:只需将其更改为optional.of(“lol”)
即可。
Mockito.when(remoteStore.get("a", "b")).thenReturn(Optional.of("lol"));
我试图模拟一个对象,该对象返回一个带有Mockito的Java可选对象: 当被调用,它返回。 我希望方法返回 返回的任何原因? 方法如下: 以下是Junit:
我已经阅读了很多Java8可选版本,我确实理解这个概念,但在我的代码中尝试实现它时仍然会遇到困难。 虽然我在网上搜索了一些好的例子,但我没有找到一个解释得很好的例子。 我有下一个方法: 这个简单的方法通过传递文件路径来返回文件的md5。正如您所注意到的,如果文件路径不存在(或键入错误),将抛出NoSuchFileException,该方法返回Null。 我希望使用Optional,而不是返回nul
这是我的实际服务方法。在测试时,它给我的变量为空。用户和响应 我试图写一个测试用例和模拟方法findByEmail()和保存(),但同时嘲笑我没有收到用户对象在返回中提到的thenback()和doback()。 有人能帮忙吗。
我是Scala新手,正在为Scala中的Play应用程序编写一些测试。Play应用程序已经用Java编写。 我有一个有一个公共方法进程的刷新服务 其中动作在另一个包中定义为POJO 我已经根据Scala指南编写了测试 当试图模拟此服务时,我使用了以下代码 我从Scala得到以下编译器错误,无法弄清楚这些类型如何是矛盾的 [错误]/home/joey/Projects/sntdb/test/cont
问题内容: 如何通过使用和避免返回值? 例: 问题答案: 要返回可选值的值,或者返回默认值(如果可选值没有值),则可以使用。 请注意,我重写了查找最长名称的代码:您可以直接与比较器比较每个String的长度。可以通过调用键提取器作为方法引用来获得一个这样的比较器。