升级到Robolectric 4.0.1后,我的机器人电学测试无法正常工作。
在我的gradle配置中,我正在使用... function (el, errorEl, nameOfClass = '', errorMsg = '') { ... }
和gradle.properties var x = function (el, errorEl, nameOfClass, errorMsg) {
nameOfClass = (typeOf nameOfClass != 'undefined') ? nameOfClass : 'Default Class Name';
errorMsg = (typeOf errorMsg != 'undefined') ? errorMsg : 'Default Error Message';
// code
}
x(a,b,c,d); // works
x(a,b); // works using the defaults instead of c/d
。
下面是一个虚拟测试,例如:
testOptions.unitTests.includeAndroidResources = true
我遇到2个独立的问题:
失败:构建失败,并出现异常。
- 出了什么问题:任务':packageDebugUnitTestForUnitTest'的执行失败。
索引11上不透明部分中的非法字符:jar:file:C:\ myproject \ build \ intermediates \ apk_for_local_test \ debugUnitTest \ packageDebugUnitTestForUnitTest \ apk-for-local-test.ap _
android.enableUnitTestBinaryResources=true
选项,则出现以下错误:android.content.res.Resources $ NotFoundException:资源ID #0x7f030007
在@RunWith(RobolectricTestRunner::class)
internal class MyRobolectricTests
{
@Test
fun my_test()
{
val someItems = ApplicationProvider.getApplicationContext().resources.getStringArray(R.array.array_of_strings)
assertEquals(10, someItems.size)
}
}
行
为什么测试可以在3.6.1版中使用,但现在却不能使用?
答案 0 :(得分:0)
从gradle.properties中删除android.enableUnitTestBinaryResources=true
。对我来说有帮助。
请参阅关于此问题的所有评论here