首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用命令行android studio运行testSuite并生成代码覆盖率报告

使用命令行运行 Android Studio 中的 testSuite 并生成代码覆盖率报告,可以按照以下步骤进行操作:

  1. 确保已安装并正确配置 Android Studio 的命令行工具,包括设置环境变量等。
  2. 打开终端或命令提示符窗口,并导航到包含 testSuite 的项目根目录。
  3. 使用以下命令执行测试套件并生成代码覆盖率报告:
代码语言:txt
复制
./gradlew clean test jacocoTestReport

或者在 Windows 上执行:

代码语言:txt
复制
gradlew clean test jacocoTestReport

这将会运行项目中的测试套件,并使用 Jacoco 插件生成代码覆盖率报告。

  1. 执行完命令后,你可以在项目目录下的 app/build/reports/jacoco/test/html/index.html 找到生成的代码覆盖率报告文件。用浏览器打开该文件,即可查看详细的代码覆盖率信息,包括覆盖率百分比、覆盖率具体情况等。

需要注意的是,这里假设你的项目中已经配置了 Jacoco 插件来生成代码覆盖率报告。如果没有配置,你可以按照以下步骤进行配置:

  1. 在项目的根目录下的 build.gradle 文件中,添加 Jacoco 插件的依赖:
代码语言:txt
复制
buildscript {
    dependencies {
        classpath 'org.jacoco:org.jacoco.core:0.8.7'
    }
}

plugins {
    id 'jacoco'
}

jacoco {
    toolVersion = "0.8.7"
}
  1. 在模块的 build.gradle 文件中,应用 Jacoco 插件并配置生成代码覆盖率报告的任务:
代码语言:txt
复制
apply plugin: 'jacoco'

jacoco {
    toolVersion = "0.8.7"
}

tasks.withType(Test) {
    jacoco.includeNoLocationClasses = true
}

task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {
    reports {
        xml.enabled = false
        html.enabled = true
        html.destination file("${buildDir}/reports/jacoco/test/html")
    }

    def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*']
    def debugTree = fileTree(dir: "${buildDir}/intermediates/javac/debug", excludes: fileFilter)
    def mainSrc = "${project.projectDir}/src/main/java"

    sourceDirectories = files([mainSrc])
    classDirectories = files([debugTree])
    executionData = files("${buildDir}/jacoco/testDebugUnitTest.exec")
}

完成上述配置后,重新执行上述命令,即可生成代码覆盖率报告。

参考链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用PHPUnit进行单元测试生成代码覆盖率报告的方法

├── reports #存放覆盖率报告 └── tests #存放单元测试 使用Composer构建工程 #一路回车即可 composer init #注册命名空间 vi composer.json...代码覆盖率 代码覆盖率反应的是测试用例对测试对象的行,函数/方法,类/特质的访问率是多少(PHP_CodeCoverage 尚不支持 Opcode覆盖率、分支覆盖率 及 路径覆盖率),虽然有很多人认为过分看重覆盖率是不对的...同时需要使用 --whitelist dir参数来设定我们需要检测覆盖率的业务代码路径,下面演示一下具体操作: phpunit \ --bootstrap vendor/autoload.php \ -...@depends注解来声明二者的执行顺序,使用传递参数的方式来满足需求。...--覆盖率报告生成类型和输出目录 lowUpperBound低覆盖率阈值 highLowerBound高覆盖率阈值-- <log type="coverage-html" target=".

1.6K31

【错误记录】Android Studio生成测试覆盖率报告出错 ( ExampleInstrumentedTest > useAppContext FAILED )

文章目录 一、报错信息 二、解决方案 一、报错信息 ---- 在 Android Studio 工程中 , 启用了 " android # buildTypes # debug " 中的 testCoverageEnabled...配置 , 设置为 true , 目的是为了生成测试覆盖率报告 ; kim.hsl.svg.ExampleInstrumentedTest > useAppContext[Pixel 2 - 9] FAILED...PNG 图片配置 //generatedDensities = ['hdpi', 'mdpi', 'xhdpi', 'xxhdpi', 'xxxhdpi'] // 使用...".jerry" 包名后缀 , 导致最终生成 测试覆盖率报告 出现问题 ; 屏蔽这两个后缀即可正确生成 " 测试覆盖率报告 " ; 再次执行 gradlew :app:createDebugCoverageReport...命令 , 生成 " 测试覆盖率报告 " 成功 , 生成路径为 " app\build\reports\coverage\debug " ; 打开 " app\build\reports\coverage

69830
  • 【Flutter】创建 Flutter 项目 ( Android Studio 创建运行 Flutter 应用 | 命令行创建运行 Flutter 应用 | 运行 Flutter 应用三种方式 )

    文章目录 一、Android Studio 中创建 Flutter 项目 二、命令行创建 Flutter 项目 三、通过命令行方式运行 Flutter 项目 四、通过 Android Studio 可视化方式运行...( 第一次没有翻墙 , 20 分钟没有创建成功 ) 二、命令行创建 Flutter 项目 ---- 使用 flutter 命令进行创建 , 使用 flutter 命令前 , 需要先将 flutter...D:\002_Project\002_Android_Learn\Flutter_Cmd> 三、通过命令行方式运行 Flutter 项目 ---- 通过命令行方式运行 Flutter 项目 : 进入...手机界面展示 : 如果当前有多个设备或虚拟机连接在本电脑上 , 那么需要使用 flutter run -d '设备ID' 选择对应的设备 ; 四、通过 Android Studio 可视化方式运行...Flutter 项目 ---- Android Studio 中选择 菜单栏 / File / Open 选项 ; 在弹出的对话框中 , 选择刚才使用命令行创建的 Flutter 项目 : 选择在

    6.2K01

    Android studio 下JNI编程实例生成so库的实现代码

    最近需要使用JNI编程,学了下JNI,并且在Android Studio下实现了一个小demo。这期间有一些坑,还好都解决了,想分享出来,希望大家少走弯路。...2.怎样生成.so动态库提供给第三方使用。...生成方法为:在控制台或者Android studio自带的控制台使用javah命令将上一步make之后生成的class文件生成.h头文件,这里在用javah的时候有可能会出问题,比如我第一次就出现了找不到...:(defaultconfig里面) ndk{ moduleName “nativeTest” } 此时运行程序已经可以实现本地方法了,之后可以再生成so库文件,方便使用。...二,生成.so动态库 (这里说一下,貌似Android studio已经写好了.mk文件,上面的步骤完成后,直接rebuild一下就自动生成为了.so动态库,下面的方法也能生成,可以看一下,很有用) 1

    2.1K31

    深入解析Python中的unittest框架-基础用法与实践技巧

    测试套件:TestSuite类的实例,表示一组测试用例。 测试运行器:TestRunner类的实例,用于执行测试套件中的所有测试用例并报告结果。...unittest框架提供了多种运行测试的方法,可以通过命令行直接运行,也可以在代码使用测试运行器。...使用测试套件 如果你有多个测试用例类,可以使用TestSuite来组合这些测试一次性运行。...安装该库: pip install coverage 使用coverage来运行测试生成覆盖率报告: coverage run -m unittest discover coverage report...示例:生成覆盖率报告 coverage run test_example.py coverage report -m 生成报告将显示哪些行没有被执行,以及代码覆盖率的百分比。

    2820

    Python 测试框架 pytest —— 生成测试报告

    简介 Pytest 生成测试报告有几种方法,本文以 mtutils 库中的测试代码为例,分别尝试几种测试报告使用 ResultLog pytest 自带测试报告输出功能 该功能在 pytest 6.1...生成 allure 报告内容,在 pytest 命令中加入参数 --alluredir=reports-dir 生成报告内容后,用 allure 命令解析查看报告 allure serve reports-dir...包可以辅助 pytest 查看代码运行级别的覆盖率生成直观的 html 测试报告 pytest-cov 是pytest的一个插件,其本质是引用 python coverage 库用来统计代码覆盖率...\code\ 参数,用于统计制定文件夹中的代码运行覆盖率,该参数指向的是被测试的代码,不是测试代码 在 pytest 命令中加入 --cov-report=html 参数输出 html 报告 示例 以...\tests\ --cov-report=html 运行完成后生成了 htmlcov 文件夹,其中包含了覆盖率的 html 网页报告 报告效果 点击指定文件可以查看代码运行覆盖情况 红线表明未被覆盖到的代码

    2.5K10

    Android Studio使用Kotlin时,修改代码运行不生效的解决方法

    问题现象 前段时间升级 Android Studio 3.1.3+ 版本后,决定尝试使用 Kotlin 做 APP 开发看看。结果却发现,修改 String 资源后,“运行”,修改的内容没有生效。...5、 点击“OK”,关闭配置窗口,至此配置过程就结束了,修改代码之后“运行”不生效的问题也就解决了。...补充知识:Android项目集成kotlin,导致项目无法运行(出现一个红叉)解决办法 问题:Error:Please select Android SDK 近期,项目不太忙,打算引出google推了几年的...结果,有的同学更新后,编译通过了,就是在项目运行哪里有个红叉,怎么也不能运行。 Edit configuration 里面也提示 Error:Please select Android SDK。...以上这篇Android Studio使用Kotlin时,修改代码运行不生效的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考。

    4.3K30

    Android Gradle 插件】BuildType 编译类型配置 ⑦ ( BuildType#testCoverageEnabled 配置 )

    BuildType 编译类型 启用测试覆盖率报告 ; 配置了 testCoverageEnabled 为 true 后 , 编译 Android 项目时 , 会自动生成一个任务 , 用于报告 " 测试覆盖率...如果启用,它将使用Jacoco捕获覆盖率,并在构建目录中创建报告。...' } } 在 Android Studio 工程中的 " 命令行面板 " 中 , 在 Android 工程根目录执行 gradlew :app:tasks 命令 , 就可以看到所有的 gradle...任务 , 就是创建的 报告测试覆盖率 的任务 ; 执行 gradlew :app:createDebugCoverageReport 命令 , 生成 " 测试覆盖率报告 " 成功 , 生成路径为 "...0% , 也就是一个测试也没有 ; 注意 : 需要关闭混淆 , 不要设置包名后缀 , 参考 【错误记录】Android Studio生成测试覆盖率报告出错 ( ExampleInstrumentedTest

    38310

    PHPUnit + Laravel单元测试常用技能

    测试私有属性和私有方法使用反射机制 如果只测试私有方法可使用ReflectionMethod()反射方法,使用setAccessible(true)设置方法可访问,使用invokeArgs()或invoke...代码覆盖率 使用–coverage-html导出的报告含有类与特质覆盖率、行覆盖率、函数与方法覆盖率。可查看当前单元测试覆盖的范围。...例如输出WebDefenderTest的代码覆盖率到桌面(phpunit tests/unit/WebDefenderTest –coverage-html ~/Desktop/test) ? 6....指定代码覆盖率报告要包含哪些文件 在配置文件(phpunit.xml)里设置whitelist中的processUncoveredFilesFromWhitelist=true, 设置目录用<directory...例如指定app/Services目录下的所有文件和app/Facades/Services/WebDefenderService.php在报告中。 示例代码: <?

    1.6K21

    Android自动化测试探索(五)代码覆盖率统计

    覆盖率监测的原理 覆盖率监测的原理跟iOS上的原理差不多,大致的思路参考下吧, iOS自动化探索(十)代码覆盖率统计 Android使用的是JaCoCO覆盖率统计工具 jacoco 原理篇 必要知识储备或条件...: 项目源码 Android Studio开发环境 基本了解Android项目结构 基础adb操作 同样如果以上说的几个都不懂也行, 让开发帮忙做这些然后编个代码覆盖率统计的包给你测试, 测完把手机给开发取数据生成报告...注意每次测试完先返回手机桌面把程序退到后台等几秒让app自己生成日志文件 下面开始讲步骤 步骤1:拉取项目代码 git clone XXXXXXXXXXX 步骤2:使用Android Studio打开项目...} //代码覆盖率相关配置 end 注意事项: compile 'org.jacoco:org.jacoco.core:0.7.9' 库包可不添加依赖; classDirectories的设置应以项目编译后生成的...build.gradle里面写的一致 executionData = files("$buildDir/outputs/code-coverage/connected/code_coverage.ec") 步骤11:生成覆盖率报告

    1.1K40

    PHPUnit简介及使用

    接下来我们运行这个单元测试,在命令行下输入代码:     phpunit /path/to/tests/ConnectTest.php     即可,可以看到测试顺利通过的话,会输出以下结果: PHPUnit...(没有代码可测试)     1、通过生成html页面查看代码覆盖率 通过执行命令:phpunit --coverage-html ./coverage ..../src/test 命令解释: --coverage-html:生成覆盖率结果的html coverage:html生成目录,可以重新定义 ..../src/test:测试用例目录(也可以是单个测试用例文件)     1     2     3 覆盖率结果 2、通过生成的text文件查看代码覆盖率 通过执行命令:phpunit --coverage-text...这个工具也可以被Xdebug扩展用来生成代码覆盖率报告 ,并且可以与phing集成来自动测试,最后它还可以和Selenium整合来完成大型的自动化集成测试。 这是对PHPUnit的一个Demo。

    1.4K10

    Android+jacoco实现代码覆盖率最正确的实现方式,没有之一!

    它的作用是在安卓项目的代码覆盖率统计使用了jacoco的离线插桩方式,在测试前先对文件进行插桩,然后生成插过桩的class或jar包,测试(单元测试、UI测试或者手工测试等)插过桩的class和jar包后...,会生成动态覆盖信息到文件,最后统一对覆盖信息进行处理,生成报告。...7、生成测试报告 1.installDebug 首先我们通过命令行安装app。...返回桌面,生成coverage.ec文件可能需要一点时间哦(取决于你点击测试页面多少,测试越多,生成文件越大,所需时间可能多一点) 然后在Android Studio的Device File Explore...8、分析报告 以我项目实际运行结果为例,打开index.html后,首先会展示的是所有目录的整体覆盖率 点进去看一个 以页面的结果看看 绿色的就是代码执行到了,红色的就是代码没有执行到

    3K20

    简单两步实现 Jacoco+Android 代码覆盖率的接入!(最新最全版)

    Offline模式: 在测试前先对文件进行插桩,然后生成插过桩的class或jar包,测试插过桩的class和jar包后,会生成动态覆盖信息到文件,最后统一对覆盖信息进行处理,生成报告。...但在Android项目中只能使用JaCoCo的离线插桩模式,主要是因为Android系统破坏了JaCoCo的这种便利性,原因如下: Android虚拟机跟运行在服务器上的JVM不同,它所支持的字节码必须经过特殊的处理以支持...,最重要的一环就是代码用例的关系库维护,如何生成代码跟用例的关系,就需要用到代码覆盖率的采集和分析能力了; 实战 其实基于jacoco来做Android代码覆盖率的难点主要是各个项目的gradle插件依赖跟...类,主要是用来生成ec文件,根据使用场景可以放在你需要的地方,比如在APP内提供一个按钮,点击触发生成ec文件,也可以通过命令行的方式触发,具体代码如下: package com.android.jarvis.jacoco...ec文件的地方调用下面的方法: JacocoHelper.generateEcFile(true); 生成测试报告 通过上面的两个步骤,我们就完成了Android项目的Jacoco配置,下面再教大家如何使用它来获取我们手工或者自动化测试的代码覆盖率

    5.5K20

    【单元测试】--工具与环境

    易于集成: Mocha 可以轻松集成到持续集成(CI)工具中,以便自动运行测试生成报告。...参数化测试: NUnit 支持参数化测试,允许将参数化数据传递到测试方法,以简化测试代码的编写。 扩展性: NUnit 具有丰富的插件生态系统,可以用于扩展其功能,如测试覆盖率报告生成等。...报告生成: NUnit 生成详细的测试报告,可以用于识别和解决测试问题,集成到持续集成 (CI) 流程中。...CI/CD 集成: 在持续集成和持续交付 (CI/CD) 环境中,你可以配置 CI/CD 工具来运行 NUnit 测试,生成测试报告。 5....设置测试报告的输出位置。 4. 集成测试报告: 在 CI/CD 流程中,集成测试报告生成和展示。测试报告应包括测试通过/失败的状态、覆盖率报告、以及其他有用的信息。

    35750

    pytest测试框架和unittest_python性能测试框架

    ,现在比较主流 Nose nose是对unittest的扩展,使得python的测试更加简单 Mock unittest.mock是用来测试python的库 单元测试覆盖率 代码覆盖率也被用于自动化测试和手工测试来度量测试是否全面的指标之一...提供丰富的断言方法-验证函数等功能 加上HTMLTestRunner可以生成html的报告 现在依然有一些公司在用这个框架 unittest编写与规范 Unittest提供了test cases, test...tearDown():每个测试case运行完之后执行 setUpClass():必须使用@classmethod 装饰器, 所有case运行之前只运行一次 tearDownClass():必须使用@...,TestSuit也可以是多个; unittest结合htmltestrunner 生成日志的测试报告 http://tungwaiyip.info/software/HTMLTestRunner.html...http://github.com/huilansame/HTMLTestRunner_PY3 运行用例生成测试报告 if __name__ =='__main__': sys.path.append

    60420

    只懂黑盒测试也能学会的代码覆盖率及精准化测试

    java 的底层 runtime,也就是 jvm 在解析 class 的时候,会把文件格式的 class 读取到内存运行。...android 也是借鉴了这一整套的设计理念,android 上的 runtime 其实是 dalvik 与 art。 当我们要统计代码覆盖率的时候,就需要在代码的执行路径上加入探针分析。...不生成覆盖率 很多人都会使用 file 模式,但是 tcp server 模式才是最易用的。...ApacheJMeter.jar" \ --classfiles $project_root/lib/ext/ApacheJMeter_http.jar \ --html jmeter_coverage/ #生成带有源代码覆盖率报告...但黑盒测试苦于代码功底薄弱,无法消化理解掌握。黑盒测试如何才能学会代码覆盖率及精准化测试知识呢?

    1.2K20

    Android增量代码测试覆盖率工具

    Offline的工作流程: 在生成最终目标文件之前对字节码进行插桩。 运行测试代码,得到运行时数据。 根据运行时数据、生成的class文件、源码生成覆盖率报告。...如下图所示,JaCoCo会对ClassId相同的运行时数据进行merge,对相同位置的probe指针取或: 自动部署Pre-Push脚本 为了开发者在提交代码之前能够自动生成覆盖率报告,我们在插件...代码中通过反射执行下面的函数来获取运行时数据,保存到当前执行代码的设备中: 由于生成报告时需要用到运行时数据,为了生成覆盖率报告更准确、开发同学用起来更方便,分别在如下时机把运行时数据保存到当前设备中...如下图所示,JaCoCo会对ClassId相同的运行时数据进行merge,对相同位置的probe指针取或: 自动部署Pre-Push脚本 为了开发者在提交代码之前能够自动生成覆盖率报告,我们在插件apply...代码中通过反射执行下面的函数来获取运行时数据,保存到当前执行代码的设备中: 由于生成报告时需要用到运行时数据,为了生成覆盖率报告更准确、开发同学用起来更方便,分别在如下时机把运行时数据保存到当前设备中

    2.2K10
    领券