PowerMockito不工作:-java.lang.NoClassDefFoundError:组织/的Mockito /内部/制作/ CglibMockMaker

问题描述:

I am trying to mock the static method of CouchbaseCluster.create() using powermockito. Here is my test class. 

@PrepareForTest(CouchbaseCluster.class) 
public class IAMKafkaConsumerTest extends PowerMockTestCase{ 

    private IAMKafkaConsumer iamKafkaConsumer; 
    private CouchbaseCluster mockCouchbaseCluster; 
    private Bucket mockBucket; 




    @ObjectFactory 
    public IObjectFactory getObjectFactory() { 
     return new org.powermock.modules.testng.PowerMockObjectFactory(); 
    } 

    @Test 
    public void happyPath() 
    { 
     PowerMockito.mockStatic(CouchbaseCluster.class); 

    } 

} 



My pom includes following: 
<dependency> 
      <groupId>cglib</groupId> 
      <artifactId>cglib</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.mockito</groupId> 
      <artifactId>mockito-all</artifactId> 
      <scope>test</scope> 
     </dependency> 
      <dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-module-testng</artifactId> 
     <scope>test</scope> 
     </dependency> 
     <dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-module-testng-agent</artifactId> 
     <scope>test</scope> 
     </dependency> 
     <dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-api-mockito</artifactId> 
     <scope>test</scope> 
     </dependency> 
     <dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-module-junit4</artifactId> 
     <scope>test</scope> 
    </dependency> 

     <dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <scope>test</scope> 
     </dependency> 

当我运行测试通TestNG的我收到此错误日志PowerMockito不工作:-java.lang.NoClassDefFoundError:组织/的Mockito /内部/制作/ CglibMockMaker

java.lang.NoClassDefFoundError:组织/ mockito/internal/creation/CglibMockMaker at org.powermock.api.mockito.internal.mockmaker.PowerMockMaker。(PowerMockMaker.java:40) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect。 NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(D elegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at java.lang.Class.newInstance(Class.java:379) at org.mockito.internal.configuration。 plugins.PluginLoader.loadImpl(PluginLoader.java:61) 在org.mockito.internal.configuration.plugins.PluginLoader.loadPlugin(PluginLoader.java:24)

事实证明,PowerMockito 1.5.X版本被打破时,与mockito搭配使用1.10.9

因此,将版本更改为1.6.X对我有用。 此链接对我有帮助。

https://code.google.com/p/powermock/issues/detail?id=524