我正在尝试为我的安卓应用程序编写单元和浓缩 UI 测试,使用 kotlin 构建。由于在 kotlin 中每个类默认情况下都是最终的,因此为了模拟最终类,我使用了支持模拟最终类的 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 测试的最终类
我们不能使用 mockito 内联插件模拟 UI 测试(Android 测试(的最终课程,如官方问题跟踪器中所述
这背后的原因是
"在Android中没有真正的可能性使这项工作在Android上完成。 时刻,因为它缺少我们之上的检测 API 经营。Android VM 不是标准 VM,只实现 Java 规范的子集。只要谷歌不选择这样做 扩展它的JVM,恐怕这个功能就行不通了。
正如这里提到的
模拟安卓测试的期末课程
-
我们可以使用 DexOpener 库来模拟 Android 中的最终课程。
-
我们还可以使用 Kotlin 开放插件,它使所有最终类在没有显式 open 关键字的情况下打开。