What jars do I need to add to my pom.xml
to get PowerMock working with Mockito? I have the following dependencies:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-support</artifactId>
<version>1.4.11</version>
<scope>test</scope>
</dependency>
but when I add the @PrepareForTest
annotation at class level, Eclipse cannot find it, but it can find PowerMockito
. What jar am I missing?
According to the Mockito_Maven page on the PowerMock wiki, use this:
<properties>
<powermock.version>1.6.6</powermock.version>
</properties>
<dependencies>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
powermock-api-support
seems to be "utility classes only", where you still need the core libraries provided in powermock-module-junit4
.
Make sure you have this import:
import org.powermock.core.classloader.annotations.PrepareForTest;
This jar has it:
- powermock-mockito-1.5.1-full.jar
You are writting:
@PrepareForTest(Class.class);
Instead of:
@PrepareForTest(Class.class)
I had exactly the same issue and solved it that way.
Download the Mockito dependency zip file apart from your powermock-module-junit4 & powermock-api-mockito dependecies. Add that jars directly in your project it should work and configure your pom accordingly.
Power Mockito dependencies - All Jars