- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我是 EMMA 的新手,我不知道如何将它用于 android 系统。任何人都可以提供一个在android中使用它的示例。非常感谢。
最佳答案
我只能使用 ant 让 emma 工作。如果您已经设置了 ant 构建,那么您可以运行:
ant emma debug install
ant emma debug install test
第一个在您的项目目录中运行,第二个在您的测试目录中运行。有关详细信息,请参阅文档:http://developer.android.com/guide/developing/building/building-cmdline.html
如果您还没有 ant build.xml 文件,您可以在此处查看如何从当前项目生成一个:http://developer.android.com/guide/developing/projects/projects-cmdline.html
可悲的是,这只适用于模拟器或 Root设备。这是因为覆盖文件是在需要 root 的文件夹中生成的。我还需要修改 android-sdk/tools/ant/build.xml 文件以将我的根设备上的文件复制到其他地方,这样我就可以将其关闭。我将 xml 的 emma block 修改为如下:
<if condition="${emma.enabled}">
<then>
<echo>WARNING: Code Coverage is currently only supported on the emulator and rooted devices.</echo>
<run-tests-helper emma.enabled="true">
<extra-instrument-args>
<arg value="-e" />
<arg value="coverageFile" />
<arg value="${emma.dump.file}" />
</extra-instrument-args>
</run-tests-helper>
<echo>Copying coverage to readable directory...</echo>
<exec executable="${adb}" failonerror="true">
<arg line="${adb.device.arg}" />
<arg value="shell" />
<arg value="echo cp ${emma.dump.file} /sdcard/coverage.ec | su" />
</exec>
<echo>Downloading coverage file into project directory...</echo>
<exec executable="${adb}" failonerror="true">
<arg line="${adb.device.arg}" />
<arg value="pull" />
<arg value="/sdcard/coverage.ec" />
<arg value="coverage.ec" />
</exec>
<echo>Extracting coverage report...</echo>
<emma>
<report sourcepath="${tested.project.absolute.dir}/${source.dir}"
verbosity="${verbosity}">
<!-- TODO: report.dir or something like should be introduced if necessary -->
<infileset dir=".">
<include name="coverage.ec" />
<include name="coverage.em" />
</infileset>
<!-- TODO: reports in other, indicated by user formats -->
<html outfile="coverage.html" />
</report>
</emma>
<echo>Cleaning up temporary files...</echo>
<delete file="coverage.ec" />
<delete file="coverage.em" />
<echo>Saving the report file in ${basedir}/coverage/coverage.html</echo>
</then>
<else>
<run-tests-helper />
</else>
</if>
关于android - 如何在android中使用EMMA代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2762665/
我得到了 Error: Failed to generate emma coverage. Is emma jar on classpath? 在为 android 测试项目生成覆盖率报告时,我正在使
我有一个 Ant 构建文件,我在其中编译应用程序和测试的 Java 源代码、检测应用程序类、运行 JUnit 测试并生成 JUnit 和 Emma 代码覆盖率报告。 JUnit 任务被赋予了检测类的路
我已经在android模拟器中创建了coverage.ec文件,可以查看文件,但是无法读取内容。据我所知,只有在生成coverage.html文件后,我们才能看到覆盖率。为了生成这个,我经历了 Bui
嗨,我想使用 maven 生成 emma 报告。当我尝试构建报告时,它会出现此错误。 [ERROR] Failed to execute goal org.codehaus.mojo:emma-mav
我想知道你们中的 EMMA 用户是否遇到过这个问题。 基本上我有多个项目,每个项目都有不同的 build.xml ANT 脚本,这些脚本都是从一个主 ANT 脚本中单独调用的。代码已被适当覆盖,但当
我对 EMMA 有一个问题,它正确地覆盖了我所有的各种 Java 项目,除了一个。我很困惑为什么会出现这种情况,因为 ANT 脚本似乎是正确的。给出以下预期输出: [echo] c:\cc_loca
关于 EMMA 的工作..想知道 EMMA 如何标记与源代码相关的代码行。有没有办法只提取覆盖/标记的线? 最佳答案 EMMA 对类文件进行检测,检测代码(附加字节代码)用于生成 coverage r
在生成 HTML 覆盖率报告时,在哪里可以找到 Emma 用于突出显示源代码的默认颜色的图例? 最佳答案 Annotations 绿色代表完全覆盖的线,黄色代表部分覆盖的线和红色表示根本没有执行的行。
我正在使用 EMMA 工具进行代码覆盖,尽管我已尽最大努力,但 EMMA 拒绝查看原始 .java 文件并逐行生成覆盖。 我们正在使用 ANT 构建代码并将调试设置为 true。我知道 EMMA 正在
上周我下载了 Flash tool ,由 Sony 提供,来自开发者世界网站,安装后将自己注册为新用户。 但是,我的帐户似乎没有得到验证。我没有收到任何电子邮件说他们无法验证我的帐户,也没有收到任何电
对于涉及部署在单个应用服务器中的两个或多个 Web 应用程序的系统,是否有任何方法可以获得系统测试覆盖率结果? 最佳答案 我对 cobertura 和 jboss 做了类似的事情。您应该只“检测”所有
有没有办法为 EMMA 生成自定义报告。我想要做的是创建一个 html 报告,将 java 包 View 分组到功能组件区域中,以便我可以看到由功能组件而不是包驱动的报告。 例如说我有 功能Acom.
在被测 Android Activity 中抛出未捕获的异常时,不会生成 Emma 代码覆盖率。但是,如果测试通过,则覆盖成功生成!我正在使用 SDK r15、Emma 1.6.x macosx 和默
java.lang.VerifyError: Expecting a stackmap frame at branch target 11 in method tests.FieldTest.()V
我安装了 Java SE Development Kit 7u3 我已经完成了一些与此类似的主题(例如 "java" succeeds," java emmarun" fails),但我的问题是 EM
在 Java 中使用枚举可以保证对象实例的唯一性,如下所示: public enum EmmaTest { ; public static int someStaticMethod()
我想在运行单元测试时获得代码覆盖率。我跑 ant coverage使用标准的 android build.xml 进行测试。 测试运行良好。来自 ant coverage 的最后一个字符串是 Test
我正在运行 EclEmma,它是 Eclipse 的 Emma 插件,覆盖率报告仅显示我定义的 Enum 的部分覆盖率,即使它显示 Enum 中唯一的值被覆盖。我假设支持 Enum 的隐含方法存在覆盖
我有一个奇怪的场景......在为 UT 进行 EMMA 覆盖时,我得到的总 block 覆盖大小超过了线路覆盖大小。 对于 block 覆盖,总大小约为 50,000,而线路覆盖则为 18,000。
我得到了 emma 为我的 Java 代码报告的几乎 100% 的覆盖率,除了一个类中的一大块行(没有突出显示,只有类本身被突出显示)。 有问题的“方法”被列为: $SWITCH_TABLE$com$
我是一名优秀的程序员,十分优秀!