我们的应用程序处于开发过程中,我们遵循 MVP 方法,通过在我们的 Presenter 上编写单元测试用例来提供更好的测试覆盖率。
在 Android P 之前,我们的测试用例执行没有任何问题,但现在在 Android P 发布之后,当我们尝试在 Pixel 2 (Android P) 上运行测试用例时,我们的测试用例在以下代码行中失败 -
private lateinit var mPackageInfo: PackageInfo
mPackageInfo = Mockito.mock(PackageInfo::class.java)
带有以下错误消息 -
org.mockito.exceptions.base.MockitoException:Mockito 无法模拟此类:类 android.content.pm.PackageInfo。
Mockito 只能模拟非私人和非最终课程。
底层异常:java.lang.IllegalArgumentException:在Android P上,类注入只能应用于BaseDexClassLoader:net.bytebuddy.dynamic.loading.MultipleParentClassLoader@a3838ec
我该如何解决这个问题?