如何查找在 chromium for android 上运行的测试用例的代码覆盖率


有哪些

可用的工具?我正在研究 Ubuntu。我无法使用Visual Studio工具。我可以使用艾玛吗?如果是这样,如何?

编辑:I我用艾玛。我能够使用以下命令生成 coverage.em 文件:

java -cp ./third_party/android_tools/sdk/tools/lib/emma.jar emma instr -m overwrite -cp out/Release/unit_tests_apk/

但是没有生成 coverage.ec。有什么想法吗?还有其他方法可以为铬安卓生成代码覆盖率吗?

以下步骤将在out/Release/lib.java中创建.em文件,并在提到的覆盖目录中创建.ec文件(out/Release/CoverageDirectory):

build/android/test_runner.py instrumentation --test-apk=ContentShellTest --release -vvv --coverage-dir out/Release/CoverageDirectory

以下步骤将采用上述覆盖目录(包含.ec文件)和out/Release目录(包含上面生成的.em文件)并生成 html 覆盖率报告。

build/android/generate_emma_html.py --coverage-dir out/Release/CoverageDirectory --metadata-dir out/Release --cleanup --output out/Release/CoverageDirectory/coverage_html/index.html
  1. 将 emma.jar 包含并导出到受测项目中
  2. 为受测项目和测试项目创建 ant 构建文件。
  3. 为被测项目构建"仪器"目标
  4. 为测试项目构建"调试 emma 安装测试"目标
  5. 在模拟器上运行测试
  6. 结果可在测试项目的 bin 文件夹中找到

步骤来自我去年在jDays上的演讲。如果你想阅读Android单元测试,我可以推荐Diego Torres Milano的Android应用程序测试指南。

最新更新