如何模拟此特定代码段?
Collection<SeoUrlParam> params = getUrlState().getParameters();
我已经嘲笑了
urlState = mock(UrlState.class);
但我不知道如何模拟类型的params集合,这实际上是一个类
答案 0 :(得分:2)
你可能不想模仿这个集合。您希望集合中存在一些实际数据,并让代码从那里运行它。
现在,通过布置调用的方式,可能会出现两个模拟对象 - 一个用于生成getUrlState()
的模拟结果,另一个用于实际返回{{1 }}
我不确定你用于其中任何一个电话的类型,所以我会把它放在一边。但这个原则适用。
getParameters()
答案 1 :(得分:1)
不要模拟集合对象。集合本身通常没有足够的逻辑来使得逻辑输出更有价值。
将您的集合视为值对象,并根据需要创建真实集合。如果你想模仿集合中的各个对象,那很好,以及我完全推荐的练习。