EasyMock期望使用Collection类型的参数调用方法

时间:2010-12-03 13:09:37

标签: java unit-testing collections easymock

我遇到了问题:

expect(dao.save(collectionOfElements)).andReturn(otherCollection);

当我重播然后我称之为DAO方法然后我得到

Unexpected method call save(someObj1, someObj2) 
save(someObj1, someObj2): expected: 1, actual: 0

来自意外调用的someObj1等于来自预期调用的someObj1,元素甚至是相同的顺序。

起初我这样解决了这个问题:

expect(dao.save(isA(Collecion.class))).andReturn(otherCollection);

但现在我必须测试我的服务类是否使用包含2个元素的集合来调用dao.save,因此isA(Collecion.class)不再起作用。

如何解决这个问题?比你。

1 个答案:

答案 0 :(得分:1)

问题可能是第一个someObj1和第二个someObj1具有相同的toString(所以看起来相同)但它们不是equals()== true。

我会检查收藏的元素是否与您的内容相同。