我需要在我的
pom.xml
中添加哪些 jar 才能让 PowerMock 与 Mockito 一起工作?我有以下依赖项:
<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>
但是当我在类级别添加
@PrepareForTest
注释时,Eclipse找不到它,但它可以找到PowerMockito
。我缺少什么罐子?
根据PowerMock wiki上的Mockito2-Maven页面,使用这个:
<properties>
<powermock.version>2.0.9</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-mockito2</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
如果您需要 EasyMock、TestNG 或 Mockito 1.x(使用 1.x 版本的 Powermock),请务必检查 GitHub 发布选项卡中的最新版本号,并检查入门 wiki 页面的 Maven 部分 .
powermock-api-support
似乎是“仅实用程序类”,您仍然需要
powermock-module-junit4
中提供的核心库。
@PrepareForTest(Class.class);
而不是:
@PrepareForTest(Class.class)
我遇到了完全相同的问题并以这种方式解决了。