【发布时间】:2018-11-29 02:05:43
【问题描述】:
我正在尝试使用 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 中肯定有更好、更简洁的方法,对吧?
【问题讨论】:
标签: java gradle configuration mockito powermock