我正在使用mockito在java中编写单元测试。
这是我试图测试的声明。
final Map<EntityKey, Element<Movie>> resultMap = Watcher.watch(movies);
电影是设置电影名称,这是识别电影的关键。
我嘲笑了观察者班级
final Watcher<Movie> watcher = mock(Watcher.class);
Mockito.when(watcher.watch(Matchers.any(Set.class)))。thenReturn()
包含在“thenReturn”中的内容??
答案 0 :(得分:1)
在thenReturn
函数中,您需要传递与模拟返回类型的方法类型相同的对象。
然后在该对象上调用此方法时,它将返回您传递给thenReturn
的对象,而不是实际进入该函数。
这是嘲弄背后的核心概念。
说完了。如果您正在尝试测试Watcher.watch方法,那么您可能无论如何都不想模拟它。你应该只模拟那些你没有测试的类。
答案 1 :(得分:0)
您需要制作一个适合在其余测试中使用的Map<EntityKey,Element<Movie>>
。我不太确定你的测试实际上试图断言,但不管它是什么,相应地选择Map
。您的Map
对象就是您要从thenReturn
返回的内容。