我有一个返回对象数组的方法。
public IConfigurationElement[] getConfigurationElementsFor(String extensionPointId);
我不知道如何使用mockito和powermock模拟此调用。
我试过了
mockConfigurationElements = (IConfigurationElement[]) Mockito.anyListOf( IConfigurationElement.class ).toArray();
但这是以ClassCastException
结尾。
答案 0 :(得分:3)
使用mockito进行模拟(存根)调用是以下列方式完成的(例如):
Mockito.when(mockObject.getConfigurationElementsFor(Mockito.anyString()).thenReturn(new IConfigurationElement[]{})
或
Mockito.doRerturn(new IConfigurationElement[]{}).when(mockObject).getConfigurationElementsFor(Mockito.anyString());
Mockito.anyListOf()是matcher的用法。当存根意味着如果使用满足那些匹配器的参数调用该方法时,将传递匹配器而不是真正的参数。