如何使用mockableAndroidJar?

Vic*_*hoy 6 mockito android-testing

现在我正在使用mockito或其他东西创建我们项目的单元测试框架.我发现有一个任务app:mockableAndroidJar可以构建一个mockableAndroidJar jar文件.这是为了什么?如何使用它?我还没有找到关于它的介绍.

Jef*_*ica 9

几个模拟框架,包括Mockito,通过覆盖模拟或间谍类的方法来工作.但是,Android库使用了许多final类和方法,这些类和方法更适合编译嵌入式设备(因为它们跳过虚拟方法查找)但对模拟不友好.

Android开发人员工具包的最新版本包括对可模拟Android库的支持,该库与普通的Android支持库相同,但在final任何地方都删除了修饰符.这将允许您模拟类View,Context无需担心final限制.

请参阅此处的文档

  • Android工具项目网站 - 单元测试支持

    单元测试在开发计算机上的本地JVM上运行.我们的gradle插件将编译src/test/java中的源代码,并使用通常的Gradle测试机制执行它.在运行时,测试将针对android.jar的修改版本执行,其中所有最终修饰符都已被剥离.这使您可以使用流行的模拟库,如Mockito.

  • 适用于Gradle发行说明的Android插件

    添加了mockable的共享,android.jar插件只生成一次并用于单元测试.多个模块,例如applib,现在共享它.删除$rootDir/build以重新生成它.