Powermock 和 mockito 兼容性和更改

Powermock and mockito compatibility and changes

我正在尝试使用 power mock 2.0.2 和 mockito 2.0。 以前我使用 powermock 来模拟一些局部变量: 我在测试中使用 class

 @RunWith(PowerMockRunner.class)
 @PrepareForTest({MyClass.class})
 whenNew(MyClass.class).withAnyArguments().thenReturn(myClassMock);

Power mock 1.6 一切正常.. 当我尝试移动到 Powermock 2.x 时,我再也找不到 PowerMock 中的 whenNew() 方法。 这在新的 Powermock 中有何变化? 依赖项:

<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-module-junit4</artifactId>
    <version>2.0.4</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-api-mockito</artifactId>
    <version>2.0.4</version>
    <scope>test</scope>
</dependency>
        <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>2.15.0</version>
        <scope>test</scope>
    </dependency>

顺便问一下,哪个版本的 mockito 与 Powermock 兼容? - 我发现使用 mockito

支持 Powermock 存在一些问题

我错过了你定义旧 api 组件的部分,尝试 powermock-api-mockito2
这是我在我的一个项目中使用的(默认为 mockito-core 2.28.2)

<dependencies>
    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>2.0.4</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito2</artifactId>
        <version>2.0.4</version>
        <scope>test</scope>
    </dependency>
     <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
</dependencies>