Java powermock 1.7.4和mockito 1.10.19的gradle配置

Java powermock 1.7.4和mockito 1.10.19的gradle配置,java,gradle,configuration,mockito,powermock,Java,Gradle,Configuration,Mockito,Powermock,我正在尝试使用Gradle运行PowerMock版本1.7.4和Mockito版本1.10.19的Java测试 PowerMock 1.7.4在这两个方面都有可传递的依赖关系 org.mockito»mockito核心1.10.19 等等 org.mockito»mockito核心2.8.9 看 为了不引入Mockito 2.8.9,而是让测试针对Mockito 1.10.19编译和运行,我必须执行以下操作,因为powermock JAR中存在各种可传递的依赖关系: testCompile ("

我正在尝试使用Gradle运行PowerMock版本1.7.4和Mockito版本1.10.19的Java测试

PowerMock 1.7.4在这两个方面都有可传递的依赖关系

org.mockito»mockito核心1.10.19 等等 org.mockito»mockito核心2.8.9

为了不引入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中有一种更好、更简洁的方法来实现这一点,对吧?

一种压缩它的方法,仅排除mockito核心:

此外,testRuntime mockito核心作为

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'
    }  
}