使用mockito编写单元测试

时间:2012-12-20 22:37:20

标签: mockito

我正在使用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”中的内容??

2 个答案:

答案 0 :(得分:1)

thenReturn函数中,您需要传递与模拟返回类型的方法类型相同的对象。

然后在该对象上调用此方法时,它将返回您传递给thenReturn的对象,而不是实际进入该函数。

这是嘲弄背后的核心概念。

说完了。如果您正在尝试测试Watcher.watch方法,那么您可能无论如何都不想模拟它。你应该只模拟那些你没有测试的类。

答案 1 :(得分:0)

您需要制作一个适合在其余测试中使用的Map<EntityKey,Element<Movie>>。我不太确定你的测试实际上试图断言,但不管它是什么,相应地选择Map。您的Map对象就是您要从thenReturn返回的内容。