我试着把语句写成
when(myDao.fetchTree(anyLong())).thenReturn(myTreeList);而且我有导入
import static org.mockito.Mockito.when;
import static org.mockito.Matchers.anyLong;
import static org.mockito.Matchers.thenReturn; //not importingthenReturn的导入不是映射。这是一个版本问题吗?我使用的是Mockito 1.8.4。
发布于 2014-09-25 04:44:11
Mockito的when返回OngoingStubbing类的对象。这个类有一个thenReturn()方法,这是在示例代码中调用的方法。不需要额外的导入。
when(myDao.fetchTree(anyLong())).thenReturn(myTreeList);可以被分解为
OngoingStubbing thing = when(myDao.fetchTree(anyLong()));
thing.thenReturn(myTreeList);您只是在调用OngoingStubbing的thenReturn方法。
发布于 2014-09-25 04:39:04
如果您使用以下命令,应该足够了:
import static org.mockito.Mockito.*;然后把剩下的去掉。
发布于 2014-09-25 18:54:14
你的问题:这是一个版本问题吗?我会说不,这不是版本问题。
正如前面所建议的,您应该
从命令行(不是在STS或任何集成开发环境或类似的东西中) when(myDao.fetchTree(anyLong())).thenReturn(myTreeList);
问:为什么要从命令行运行它,并避免使用IDE-s等?答:因为有时你最喜欢的IDE的代码解析器、检查器和验证器会报告关于代码中某些特殊情况的误报。
https://stackoverflow.com/questions/26026018
复制相似问题