可能重复:
Android 测试代码覆盖率、Eclipse
看到没有关于如何在 Eclipse 中将 EMMA 用于 Android 应用程序的文档,真是令人沮丧。有没有人设法在 Eclipse 中为 Android 应用程序使用 EMMA?没有检查整个 android 源代码并做所有的骇客?
可能重复:
Android 测试代码覆盖率、Eclipse
看到没有关于如何在 Eclipse 中将 EMMA 用于 Android 应用程序的文档,真是令人沮丧。有没有人设法在 Eclipse 中为 Android 应用程序使用 EMMA?没有检查整个 android 源代码并做所有的骇客?
这并不能直接回答您的问题,但我建议您看一下使用 Robolectric 编写测试:http: //pivotal.github.com/robolectric/
使用 Robolectric,您可以编写在 JVM 中而不是 Delvik VM 中运行的测试。这意味着您几乎可以使用任何用于 JAVA 的代码覆盖工具。您可能需要稍微更改您的代码,以便您可以编写您的 Robolectric,而且您还没有开始破解 Robolectric。对我来说,这只是编写测试的更好方法。
如果你有<path to test project>/build.xml
文件重命名它。
我能够通过从控制台执行以下命令来生成测试覆盖率报告:
<path to android tools>android update test-project -m <path to app project> -p <path to test project>
+ Enter,
cd <path to test project>
+ Enter,
ant emma debug install test
+ Enter,
在我<path to android tools>
的/opt/android-sdk-linux/tools/
机器上的位置 - 安装 android SDK 的文件夹。
这个生成的<path to test project>/bin/coverage.html
文件。
如果您收到“错误的 JAVA_HOME”错误,请执行gksu gedit /etc/environment
+ Enter,更正JAVA_HOME
,保存文件,注销或重新启动并重试。
不幸的是,我认为 EMMA 不适用于通过 SDK 开发的应用程序。除非自从我上次阅读该主题以来情况发生了变化。这些工具是为与操作系统本身一起使用而设计的,因此我无法将它与您所知道的 APK 一起使用。
您可能会发现以下相关帖子很有用 - Android 中的 EMMA 代码覆盖率。
我发现一些链接可能会有所帮助 http://blog.pboos.ch/2011/06/coverage-fo-android-tests/ 您还可以查看 如何在 android 中使用 EMMA 代码覆盖率 希望它对您有用