我无法模拟IntelliJIdea中的外部库中的类。它给了我一个错误。
java.lang.NoClassDefFoundError: com/adobe/cq/mcm/salesforce/SalesforceClient
at com.ig.igwebcms.services.test.SalesforceLeadSearch1Test.testGetSalesforceClientObject(SalesforceLeadSearch1Test.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
下面是我的代码:
@RunWith(MockitoJUnitRunner.class)
public class SalesforceLeadSearch1Test {
@Test
public void testGetSalesforceClientObject() throws Exception {
SalesforceClient client = mock(SalesforceClient.class);
Map configProps=mock(Map.class);
}
}
我已经检查过了,maven的POM中也有依赖项。当试图模拟外部库中的所有类时,会出现相同的异常。,Mock for map类不会给出此错误。
Mockito不能模仿一切。事实上,在他们的代码指南中,您可以看到他们建议不要模拟您不拥有的类型。您应该尝试重构您的代码,以便对客户端进行抽象。
你还嘲笑地图…你为什么嘲笑它?为什么不直接创建一个呢?