Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle 为什么org.powermock:powermock api mockito:1.7.4依赖于mockito核心的两个版本?_Gradle_Junit_Mockito_Powermock_Powermockito - Fatal编程技术网

Gradle 为什么org.powermock:powermock api mockito:1.7.4依赖于mockito核心的两个版本?

Gradle 为什么org.powermock:powermock api mockito:1.7.4依赖于mockito核心的两个版本?,gradle,junit,mockito,powermock,powermockito,Gradle,Junit,Mockito,Powermock,Powermockito,在运行Junit测试期间,我遇到以下错误 java.lang.NoClassDefFoundError: org/mockito/cglib/proxy/MethodInterceptor at org.powermock.api.mockito.PowerMockito.mock(PowerMockito.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.re

在运行Junit测试期间,我遇到以下错误

java.lang.NoClassDefFoundError: org/mockito/cglib/proxy/MethodInterceptor

    at org.powermock.api.mockito.PowerMockito.mock(PowerMockito.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
我在搜索时发现的原因是可能有多个版本的mockito被使用,这似乎是真的

gradle :commons:dependencies | grep mock
返回以下

\--- org.powermock:powermock-api-mockito:1.7.4
     +--- org.powermock:powermock-api-mockito-common:1.7.4
     |    +--- org.powermock:powermock-api-support:1.7.4
     |    |    +--- org.powermock:powermock-reflect:1.7.4
     |    |    \--- org.powermock:powermock-core:1.7.4
     |    |         +--- org.powermock:powermock-reflect:1.7.4 (*)
     |    |         \--- org.mockito:mockito-core:2.8.9 (*)
     |    \--- org.mockito:mockito-core:2.8.9 (*)
     \--- org.mockito:mockito-core:1.10.19 -> 2.8.9 (*)

为什么powermock 1.7.4递归地依赖于mockito 1.10.19和2.8.9?

org。powermock:powermock api mockito:1.7.4
是根据mockito版本
1.10.19


org.powermock:powermock-api-mockito-common:1.7.4
是根据
1.10.19
2.8.9
编译的,并提供了
mockito-core


org.powermock:powermock核心:1.7.4
是根据
2.8.9

从mockito核心版本
1.10.19
到最新版本(当前
3.2.4
)有一个更新路径

Gradle发现存在冲突,所需的最低版本为
2.8.9
。 这就是你在输出中看到的。(这可能有助于您理解语法。)


PowerMock
1.7.x
要求mockito版本至少为
2.8.9


但是,将
mockito2.8.9
与powermock一起使用需要使用
powermock-api-mockito2
,因此请在gradle配置中更改它

org.powermock:powermock api mockito:1.7.4
是根据mockito版本
1.10.19


org.powermock:powermock-api-mockito-common:1.7.4
是根据
1.10.19
2.8.9
编译的,并提供了
mockito-core


org.powermock:powermock核心:1.7.4
是根据
2.8.9

从mockito核心版本
1.10.19
到最新版本(当前
3.2.4
)有一个更新路径

Gradle发现存在冲突,所需的最低版本为
2.8.9
。 这就是你在输出中看到的。(这可能有助于您理解语法。)


PowerMock
1.7.x
要求mockito版本至少为
2.8.9

但是,将
mockito2.8.9
与powermock一起使用需要使用
powermock-api-mockito2
,因此请在gradle配置中更改它