Quels pots dois-je ajouter à mon pom.xml
pour que PowerMock fonctionne avec Mockito? J'ai les dépendances suivantes:
<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>
mais lorsque j'ajoute l'annotation @PrepareForTest
au niveau de la classe, Eclipse ne la trouve pas, mais il peut trouver PowerMockito
. Quel pot me manque-t-il?
Selon la page Mockito_Maven du wiki de PowerMock, utilisez ceci:
<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
semble être " classes utilitaires uniquement ", où vous avez toujours besoin des bibliothèques de base fournies dans powermock-module-junit4
.
Assurez-vous que vous avez cette importation:
import org.powermock.core.classloader.annotations.PrepareForTest;
Ce pot a ça:
Vous écrivez:
@PrepareForTest(Class.class);
Au lieu de:
@PrepareForTest(Class.class)
J'ai eu exactement le même problème et résolu de cette façon.
Téléchargez le fichier Zip de dépendance Mockito en dehors de vos dépendances powermock-module-junit4 & powermock-api-mockito. Ajoutez ces pots directement dans votre projet, cela devrait fonctionner et configurez votre pom en conséquence.