【问题标题】:NoClassDefFound Error in MockitoMockito 中的 NoClassDefFounderror 错误
【发布时间】:2014-07-13 06:55:32
【问题描述】:

我无法模拟 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 地图类不会给出这个错误。

【问题讨论】:

  • 我不知道 Mockito 中有任何会导致 NoClassDefFoundError 的限制或错误。这很可能是您的运行时类路径的问题。
  • 那是因为我在向导中选择了错误的junit版本,应该是JUnit4

标签: unit-testing mocking mockito


【解决方案1】:

Mockito 不能模拟一切。事实上,在他们的代码指南中,您可以看到他们建议不要模拟您不拥有的类型。您应该尝试重构您的代码,以便让客户端抽象。

你还在嘲笑地图……你为什么要嘲笑它?为什么不直接创建一个?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多