如何在Android单元测试期间使用emma进行代码覆盖

时间:2014-05-02 16:12:26

标签: android unit-testing ant code-coverage emma

您是否正在寻找使用代码覆盖率和报告进行Android单元测试的简单方法?在这里你得到一个简短的HowTo。

1 个答案:

答案 0 :(得分:4)

首先,我假设您已经有一个项目和一个包含测试用例的测试项目。你也安装了Android sdk。 android测试框架已经具有生成有关测试的代码覆盖率报告的内置功能。这种内置功能基于emma。

首先要为项目创建一个build.xml,应该对其进行测试:

android update project --path <Path to your Project>

下一步是为测试项目(测试用例所在的位置)创建build.xml:

android update test-project -m <Path to your Project> -p <Path to your Testproject>

在下一步中,您可以运行覆盖范围。因此,您必须切换到Testproject:

cd <Path to your Testproject>
ant emma debug install test

这将构建,检测,部署和运行您的单元测试。它还将生成HTML覆盖率报告。报告的位置将显示在Ant脚本输出的最后几行。

更多详情:http://developer.android.com/tools/building/building-cmdline.html#AntReference

故障排除:

  • 如果您的操作系统不知道命令,您必须添加一些路径到您操作系统的环境路径变量:您必须添加android.bat的路径(通常/工具)和蚂蚁的路径。 bat(取决于你安装Ant的地方;如果你将Eclipse与ADT一起使用,它通常在那里:/plugins/org.apache.ant ... / bin)
  • 如果您使用的是SDK 13或更早版本,则必须使用ant coverage代替ant emma debug install test
  • 测试完全运行但没有报告(并且还有一个“失败”消息,其中包含“权限被拒绝”):您需要使用root设备或模拟器
  • 通常,当您收到“BUILD FAILED”时,它可以帮助您清理项目
  • 如果您使用了库,则会收到错误消息。确保将它们放入“libs”目录中。 ant会自动将“libs”中的库添加到构建路径中。