我正在使用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'
Run Code Online (Sandbox Code Playgroud)
然后我开始编写测试,一切正常,但每次使用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.
Run Code Online (Sandbox Code Playgroud)
每个测试都正确运行,但我想摆脱那个烦人的警告信息.
我正在尝试实现 androidx SeekBarPreference,根据文档我可能能够setMax在我的 xml 中使用属性,但是这样做时我收到以下错误:
在xml中:
<SeekBarPreference
app:key="preference_key"
app:title="@string/preference"
app:showSeekBarValue="true"
app:setMax="10"/>
Run Code Online (Sandbox Code Playgroud)
错误:
root_preferences.xml:53: AAPT: error: attribute setMax (aka
gls.dev.MyApplication:setMax) not found.
Run Code Online (Sandbox Code Playgroud)
但是,在代码中设置属性时,它就像一个魅力:
findPreference<SeekBarPreference>("preference_key")?.apply {
max = 10
min = 1
seekBarIncrement = 1
isAdjustable = true
}
Run Code Online (Sandbox Code Playgroud)