Android单元测试与sonar

郭皓
2023-12-01

参考文档:
1、unified-test-coverage-report-in-android-with-jacoco-and-sonarqube
2、Developing Android unit and instrumentation tests
3、Analyzing with SonarQube Scanner for Gradle
4、JaCoCo Java Code Coverage Library

前言

我们的测试用聚焦在应用程序的业务逻辑上,凭经验来说一个好的单元测试应该有如下测试分布:
70-80 % 是单元测试,保证基础代码功能的稳定
20-30 % 功能性测试,保证我们的应用程序可以运行
如果我们继承了其他应用组件的话,还需一部分交叉功能测试。

1、本地测试和仪器测试

本地测试:即local unit tests,对应目录是src/test/目录,生成的报告文件是*.exec,
可视化查看报告目录:无,但可在Android studio自带的coverage侧边栏插件更直观的查看,另外,整合本地测试和仪器测试报告后,在如下目录查看
YOUR_PROJECT_PATH\app\build\reports\jacoco\jacocoTestReport\index.html

仪器测试:即instrumented tests,对应目录是src/androidTest/目录,生成的报告文件是*.ec,可视化查看报告目录:YOUR_PROJECT_PATH\app\build\reports\coverage\debug\index.html

2、通过gradle createDebugCoverageTest

通过gradle createDebugCoverageTest生成的测试报告只是仪器测试的报告,所以该命令需要在链接真机或者模拟器的情况下才能执行成功。

3、整合本地测试报告和仪器测试报告

 类似资料: