24

可能重复:
Android 测试代码覆盖率、Eclipse

看到没有关于如何在 Eclipse 中将 EMMA 用于 Android 应用程序的文档,真是令人沮丧。有没有人设法在 Eclipse 中为 Android 应用程序使用 EMMA?没有检查整个 android 源代码并做所有的骇客?

4

4 回答 4

2

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

使用 Robolectric,您可以编写在 JVM 中而不是 Delvik VM 中运行的测试。这意味着您几乎可以使用任何用于 JAVA 的代码覆盖工具。您可能需要稍微更改您的代码,以便您可以编写您的 Robolectric,而且您还没有开始破解 Robolectric。对我来说,这只是编写测试的更好方法。

于 2011-07-10T15:06:14.260 回答
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>+ 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,保存文件,注销或重新启动并重试。

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

于 2012-10-20T18:49:38.177 回答
1

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

您可能会发现以下相关帖子很有用 - Android 中的 EMMA 代码覆盖率

于 2011-06-29T14:08:25.997 回答
1

我发现一些链接可能会有所帮助 http://blog.pboos.ch/2011/06/coverage-fo-android-tests/ 您还可以查看 如何在 android 中使用 EMMA 代码覆盖率 希望它对您有用

于 2011-07-12T03:46:48.743 回答