RRichard Hendersonhw/misc: Constify VMState
e4ea952f创建于 2023年12月30日历史提交

鸿蒙应用覆盖率

TIPS: 本文简单介绍如何构建覆盖率插桩的应用,有关覆盖率更详细的内容请参考https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-ui-test

hvigor构建开启覆盖率插桩

hvigor 命令行构建鸿蒙应用时,打开覆盖率插桩需要增加两个参数-p ohos-test-coverage=true -p coverage-mode=black

完整的构建命令(在DevEco的Terminal中执行)

hvigorw --mode module -p product={productName} --analyze=normal --parallel --incremental -p buildMode=debug -p ohos-test-coverage=true -p coverage-mode=black -p debugLine=true clean assembleHsp assembleHap

productName:当前生效的product,可以通过点击DevEco Studio右上方图标进行查看。

安装应用

单包应用安装

hdc install {SignedHapPath}

多包应用安装

hap+hsp多包场景,需要把多个包push到设备上同一文件夹,再执行bm install -p dir 安装

# 如果已运行,强制停止应用
hdc shell aa force-stop {bundle-name}
# 创建临时目录
hdc shell mkdir data/local/tmp/{bundle-name}
# push 多个包
hdc file send {project}/{module1}/build/default/outputs/default/{module1}-{productName}-signed.hap data/local/tmp/{bundle-name}
hdc file send {project}/{module2}/build/default/outputs/default/{module2}-{productName}-signed.hap data/local/tmp/{bundle-name}
...
# 安装多包应用
hdc shell bm install -p data/local/tmp/{bundle-name}
# 删除临时目录
hdc shell rm -rf data/local/tmp/{bundle-name}

HapRay收集覆盖率的数据,生成覆盖率报告

在设备上生成的覆盖率数据包含源文件的相对地址,生成报告时需要指定HAP应用工程文件路径,用于读取源码生成覆盖率报告。

cov:
  # HAP project path
  hapProjectPath: '/your_hap_project_path'

报告所处位置hiperf/step{index}/coverage