Powermock 和 mockito 兼容性和更改

Dan*_*apa 3 java mockito powermock

我正在尝试使用模拟 2.0.2 和 mockito 2.0。以前我用powermock来模拟一些局部变量:我在测试类上用过

 @RunWith(PowerMockRunner.class)
 @PrepareForTest({MyClass.class})
 whenNew(MyClass.class).withAnyArguments().thenReturn(myClassMock);
Run Code Online (Sandbox Code Playgroud)

一切都很好,带有电源模拟1.6。当我试图转移到Powermock 2.X我不能再找到whenNew()在PowerMock方法。这在新的 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>
Run Code Online (Sandbox Code Playgroud)

顺便说一下,哪个版本的 mockito 与 Powermock 兼容?- 我看到使用 mockito 支持 Powermock 存在一些问题

sec*_*ond 7

我错过了您定义旧 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>
Run Code Online (Sandbox Code Playgroud)