Import for mockito



我正在尝试放入类似的语句

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 importing

thenReturn的导入不是映射。这是版本问题吗?我使用的是Mockito 1.8.4。

Mockito的when返回类OngoingStubbing的对象。这个类有一个方法thenReturn(),这就是示例代码中调用的方法。无需额外导入。

when(myDao.fetchTree(anyLong())).thenReturn(myTreeList);

可以分解为

OngoingStubbing thing = when(myDao.fetchTree(anyLong()));
thing.thenReturn(myTreeList);

您只是在调用OngoingStubbing的thenReturn方法。

如果您使用:就足够了

import static org.mockito.Mockito.*;

并移除其余部分。

您的问题:这是版本问题吗我会说不,这不是版本问题

如前所述,您应该

  • 在测试中使用此代码创建最小测试

    when(myDao.fetchTree(anyLong())).thenReturn(myTreeList);
    
  • 从命令行运行此代码(不在STS或任何IDE或类似的东西中)

Q:为什么要从命令行运行它并避免使用IDE-s等?A: 因为有时您喜欢的IDE的代码解析器、检查器和验证器会报告代码中某些角落情况的误报。

相关内容

  • 没有找到相关文章

最新更新