Android的代码覆盖率

时间:2011-06-06 16:01:25

标签: android eclipse emma

  

可能重复:
  Android test code coverage, Eclipse

看到没有关于如何在Eclipse中使用EMMA for Android应用程序的文档,真的很令人沮丧。有没有人设法在eclipse中使用EMMA进行Android应用程序?没有检查整个android源并做所有的hackery?

4 个答案:

答案 0 :(得分:2)

这不能直接回答你的问题,但我建议你看看用Robolectric写测试:http://pivotal.github.com/robolectric/

使用Robolectric,您可以编写在JVM而不是Delvik VM中运行的测试。这意味着您几乎可以使用任何代码覆盖工具进行JAVA。您可能需要稍微更改一下代码才能编写Robolectric,而且您也没有开始攻击Robolectric。对我来说,这只是一种更好的编写测试方式。

答案 1 :(得分:2)

如果您有<path to test project>/build.xml个文件重命名。

我能够通过从控制台执行以下命令来生成测试覆盖率报告:

<path to android tools>android update test-project -m <path to app project> -p <path to test project> + 输入

cd <path to test project> + 输入

ant emma debug install test + 输入

我的机器上<path to android tools>/opt/android-sdk-linux/tools/ - 安装android SDK的文件夹。

生成<path to test project>/bin/coverage.html个文件。

如果出现“错误的JAVA_HOME”错误,请执行gksu gedit /etc/environment + 输入,更正JAVA_HOME,保存文件,注销或重新启动,然后重试。

来源:http://blog.rabidgremlin.com/2010/11/19/android-tips-generating-a-coverage-report-for-your-unit-tests/

答案 2 :(得分:1)

不幸的是,我认为EMMA不适用于通过SDK开发的应用。这是因为自从我上次阅读有关该主题以来情况发生了变化。这些工具设计用于操作系统本身,因此无法将其与我所知道的APK一起使用。

您可能会发现以下相关帖子很有用 - EMMA Code Coverage in Android

答案 3 :(得分:1)

我找到了一些可能有用的链接 http://blog.pboos.ch/2011/06/coverage-fo-android-tests/  你也可以检查一下 How to use EMMA code coverage in android 希望它适合你