我正在尝试使用Gradle在PowerMock版本1.7.4和Mockito版本1.10.19上运行Java测试。PowerMock 1.7.4在两个方面都具有传递依赖项org.mockito»mockito-core 1.10.19和org.mockito»mockito-core 2.8.9(请参阅https://mvnrepository.com/artifact/org.powermock/powermock-api-mockito-common/1.7.4)为了不引入Mockito 2.8.9,而是针对Mockito 1.10.19进行测试并运行,我必须执行以下操作(由于powermock jar中存在各种传递依赖项):testCompile ("org.mockito:mockito-core:${versions.mockito}") { exclude group: 'org.hamcrest', module: 'hamcrest-core'}testCompile ("org.powermock:powermock-api-mockito-common:${versions.powermock}") { exclude group: 'org.mockito', module: 'mockito-core'}testCompile ("org.powermock:powermock-api-mockito:${versions.powermock}") { exclude group: 'org.mockito', module: 'mockito-core'}testCompile ("org.powermock:powermock-core:${versions.powermock}") { exclude group: 'org.mockito', module: 'mockito-core'}testCompile ("org.powermock:powermock-module-junit4:${versions.powermock}") { exclude group: 'org.powermock', module: 'powermock-module-junit4-common'}testCompile ("org.powermock:powermock-module-junit4-common:${versions.powermock}") { exclude group: 'org.powermock', module: 'powermock-core'}testCompile ("org.powermock:powermock-api-support:${versions.powermock}") { exclude group: 'org.powermock', module: 'powermock-core'}testCompile ("org.powermock:powermock-api-easymock:${versions.powermock}") { exclude group: 'org.powermock', module: 'powermock-api-support'}testCompile ("org.powermock:powermock-module-javaagent:${versions.powermock}") { exclude group: 'org.powermock', module: 'powermock-core'}testCompile ("org.powermock:powermock-module-junit4-rule-agent:${versions.powermock}") { exclude group: 'org.powermock', module: 'powermock-core'}testRuntime("org.mockito:mockito-core:${versions.mockito}") { exclude group: 'org.hamcrest', module: 'hamcrest-core'}版本在哪里:versions = [ 'mockito': '1.10.19', 'powermock': '1.7.4']当然,在Gradle中有更好,更简洁的方法,对吗?
1 回答
![?](http://img1.sycdn.imooc.com/533e4ce900010ae802000200-100-100.jpg)
慕工程0101907
TA贡献1887条经验 获得超5个赞
一种压缩方式,仅排除mockito-core:
testCompile ("org.mockito:mockito-core:${versions.mockito}") {
exclude group: 'org.hamcrest', module: 'hamcrest-core'
}
['powermock-api-mockito-common',
'powermock-api-mockito',
'powermock-core',
'powermock-module-junit4',
'powermock-module-junit4-common',
'powermock-api-support',
'powermock-api-easymock',
'powermock-module-javaagent',
'powermock-module-junit4-rule-agent'].each {
testCompile ("org.powermock:${it}:${versions.powermock}") {
exclude group: 'org.mockito', module: 'mockito-core'
}
}
此外,该testRuntimemockito-core是无用的testRuntime延伸testCompile
添加回答
举报
0/150
提交
取消