Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Android Powermock抱怨在2处找到default.properties文件_Android_Unit Testing_Testing_Powermock_Robolectric - Fatal编程技术网

Android Powermock抱怨在2处找到default.properties文件

Android Powermock抱怨在2处找到default.properties文件,android,unit-testing,testing,powermock,robolectric,Android,Unit Testing,Testing,Powermock,Robolectric,我正在使用Robolectric来测试我的应用程序,我决定使用Powermock来模拟静态类和最终类,因此我在build.gradle文件中添加了以下依赖项: testImplementation "org.powermock:powermock-module-junit4:1.7.0" testImplementation "org.powermock:powermock-module-junit4-rule:1.7.0" testImplementation 'org.powermock:p

我正在使用Robolectric来测试我的应用程序,我决定使用Powermock来模拟静态类和最终类,因此我在build.gradle文件中添加了以下依赖项:

testImplementation "org.powermock:powermock-module-junit4:1.7.0"
testImplementation "org.powermock:powermock-module-junit4-rule:1.7.0"
testImplementation 'org.powermock:powermock-api-mockito2:1.7.0'
testImplementation 'org.powermock:powermock-classloading-xstream:1.7.0'
然后我开始编写测试,一切正常,除了每个使用Powermock的测试也会打印以下警告:

Properties file org/powermock/default.properties is found in 2 places: 
ConfigurationSource{location='file:/C:/Users/USUARIO/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-core/1.7.0/19f022747953e7eccc3e53253f709d726931f407/powermock-core-1.7.0.jar!/org/powermock/default.properties}
ConfigurationSource{location='file:/C:/Users/USUARIO/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-core/1.7.0/19f022747953e7eccc3e53253f709d726931f407/powermock-core-1.7.0.jar!/org/powermock/default.properties}
. Which one will be used is undefined. Please, remove duplicated configuration file (or second PowerMock jar file) from class path to have stable tests.Properties file org/powermock/default.properties is found in 2 places: 
ConfigurationSource{location='file:/C:/Users/USUARIO/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-core/1.7.0/19f022747953e7eccc3e53253f709d726931f407/powermock-core-1.7.0.jar!/org/powermock/default.properties}
ConfigurationSource{location='file:/C:/Users/USUARIO/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-core/1.7.0/19f022747953e7eccc3e53253f709d726931f407/powermock-core-1.7.0.jar!/org/powermock/default.properties}

. Which one will be used is undefined. Please, remove duplicated configuration file (or second PowerMock jar file) from class path to have stable tests.

每个测试都能正确运行,但是我想消除那个恼人的警告消息。

我建议您使用Powermock的范围测试

<dependency>
   <groupId>org.powermock</groupId>
    <artifactId>powermock-core</artifactId>
    <version>${powermock.version}</version>
    <scope>test</scope>
</dependency>

org.powermock
powermock内核
${powermock.version}
测试
TL;博士

要修复此问题,请将“org.powermock.*”添加到@PowerMockIgnore,如:

@PowerMockIgnore({ "org.powermock.*", "org.mockito.*", "org.robolectric.*", "android.*", "androidx.*" })
在我的例子中,我一直在使用RoboeElectric+PowerMock+Mockito2,我也遇到了同样的问题,因为PowerMock加载了自己几次,将所有设置为使用PowerMock one以外的另一个运行程序


我希望这对某人有所帮助:-)

这是Maven吗?我正在使用Gradle。您可以转换为Gradle:d这基本上是powermock库,不回答问题。为了帮助其他人:我运行了这两个命令并重新启动了项目,所有警告都返回了。Mockito本身似乎有问题rm-rf$HOME/.gradle/caches/和./gradlew CleanBuildCache您能分享一下用于robolectric、powermock和mockito2的版本吗?请分享渐变依赖,我得到一些与互兼容性相关的问题。