如何使用 JaCoCo 插件在 Android 开发中生成全球覆盖率报告?
TDD(测试驱动开发)在当今的 android 项目中至关重要,因为它可以让您对自己的代码和代码库更有信心。使用 Espresso、Roboelectric、Mockito 等框架,您通常可以编写好的测试用例。编写测试用例完全没问题。但是,更重要的是,您构建的测试用例的全局覆盖率究竟是什么,也就是我们所说的全局代码覆盖率。有许多可用的插件,例如JaCoCo 、SonarQube 等。
JaCoCo is defined as follows, according to documentation:
In Java VM-based contexts, JaCoCo should be the standard technique for code coverage analysis. The goal is to provide a small, flexible, and well-documented library that can be used with a variety of build and development tools.
现在,让我们来看看逐步实现这一目标的一些实用方法。
- 假设您已经为应用程序的事件编写了一些测试用例。所以,对于其中一个有两个显示器A和B的使用场景,我们写了一个集成测试。
- 当用户单击屏幕 A 上的按钮时,它会启动屏幕 B(显式意图),我们正在使用 Espresso UI 测试框架来测试意图启动和跨两个屏幕的信息共享。
- 在项目和模块级别,使用下面列出的依赖项配置 Gradle。
分步实施
第 1 步:项目级别(Gradle)
第 2 步:模块级别(Gradle)
步骤#3:本地调试测试报告
步骤#4:现在,从终端输入以下命令以生成以下内容
(gradlew jacocoTestReport)to generate a global coverage report
第 5 步:在 Android 终端上,运行以下命令
//app/build/reports/androidTests/connected/index.html
第 6 步:查看 Android Studio 的输出日志文件
要生成测试报告,请在 android studio 终端中输入 (gradlew createDebugCoverageReport)。