我正在尝试为我的Android应用(使用kotlin构建)编写单元测试和espresso UI测试。由于在kotlin中,每个类默认情况下都是final,因此为了模拟final类,我使用了支持嘲笑final类的mockInline库。 由于我必须同时编写单元测试和UI测试。我以以下方式添加了库
testImplementation 'org.mockito:mockito-inline:2.13.0'
androidTestImplementation 'org.mockito:mockito-inline:2.13.0'
但是在运行UI测试时会抛出
More than one file was found with OS independent path 'mockito-extensions/org.mockito.plugins.MockMaker'
有没有一种方法可以使用mockInline库模拟单元测试和UI测试的最终类
答案 0 :(得分:0)
如官方问题跟踪工具here所述,我们无法使用嘲笑内联插件模拟UI测试(Android测试)的最终类
其原因是
“没有实际可能在Android上通过 时刻,因为它缺乏仪器API,而我们 操作。 Android VM不是标准VM,仅实现 Java规范的子集。只要Google不选择 扩展其JVM,恐怕此功能将无法使用。”
如here
模拟android测试的最终课程
我们可以使用DexOpener库来模拟Android中的最终类。
我们还可以使用Kotlin Open Plugin来打开所有最终类而无需显式的open关键字。