如何找到在Chrome上运行的测试用例的代码覆盖率?

时间:2014-03-03 09:38:13

标签: android code-coverage chromium emma

有哪些可用工具?我正在研究Ubuntu。我不能使用Visual Studio工具。我可以用艾玛吗?如果是这样,怎么样?

编辑:我正在使用艾玛。我能够使用以下命令生成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。有任何想法吗 ?有没有其他方法来生成chrome android的代码覆盖率?

2 个答案:

答案 0 :(得分:1)

以下步骤将在所提及的coverage目录(.em)中的out/Release/lib.java.ec个文件中创建out/Release/CoverageDirectory个文件:

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

以下步骤将采用上面提到的coverage目录(包含.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 :(得分:0)

  1. 将emma.jar包含并导出到测试项目中
  2. 为测试项目和测试项目创建ant构建文件。
  3. 为待测项目构建'工具'目标
  4. 为测试项目构建'debug emma install test'目标
  5. 在模拟器上运行测试
  6. 结果可在测试项目的bin文件夹中找到
  7. 步骤来自去年jDays的presentation。如果你想阅读Android单元测试,我可以推荐Diego Torres Milano的Android Application Testing Guide