问题标签 [emma]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2221 浏览

android - 用于手动测试的 Android 应用代码覆盖率

我正在寻找一种通过手动测试获得 EMMA 代码覆盖率的方法。我的意思是,我不想使用 android 测试框架编写任何单元测试用例,而是我正在寻找一种方法来检测我的 android 应用程序源代码并手动测试,最后我应该能够看到我的 EMMA 覆盖率. 任何帮助将非常感激。

0 投票
1 回答
817 浏览

java - 带有 TestNG 插件和多个 Eclipse 项目的 EclEmma 插件

我有十个 Maven 模块,它们是单独的 Eclipse 项目。他们都有 testNG 测试。当我尝试为此创建 emma 覆盖配置时,它只允许选择一个特定的项目。因此,要获得主要项目覆盖的全貌,我必须创建 10 个 emma 覆盖配置!配置和使用都很不方便,如何避免呢?

0 投票
7 回答
38386 浏览

code-coverage - Testng、Emma、Cobertura、coverage 和 JDK 7 导致 ClassFormatError 和 VerifyError

我已切换到最新的 JDK 7,并且在对 emma 覆盖工具摆弄的字节码运行 testng 单元测试时遇到问题。我的测试用例都没有正确运行,并且对于大多数测试用例,我都收到了此类错误。

我在这里找到了一篇文章JSR 292 Goodness Fast Code Coverage Tool Less 10k,它说“JSR 292 引入了一个新的字节码指令 invokedynamic 但也引入了几种新的常量池常量。这意味着大多数解析字节码的工具都像ASM、BCEL、findbugs 或 EMMA 将需要更新为与 java 7 兼容。”

查了一下Emma主页,貌似很久没更新了。

有没有人解决过类似的问题?

我也尝试过使用 Cobertura。它看起来工作得更好一些,但我得到了很多类型的异常VerifyError

0 投票
2 回答
3297 浏览

java - 如何获得关于枚举单例的完整 Emma 覆盖率报告?

可以通过 Java 中的枚举来保证对象的唯一实例,如下所示:

如何在这些对象上实现 100% 的 Emma 测试覆盖率?是否可以?还是可以告诉艾玛忽略某些方法?

我能得到的最好的是:

在此处输入图像描述

0 投票
2 回答
1757 浏览

scala - IntelliJ IDEA 10.5 的 Scala 案例类中的部分 EMMA 代码覆盖率

我正在使用 IntelliJ IDEA 10.5 和 8 月 14 日更新的 Scala 插件 v0.4.1338 和 Scala 2.9.0.1。我最近开始使用 IDEA 中的 EMMA 测试覆盖率实用程序来生成覆盖率报告。

我无法确定为什么我的 Scala 案例类的构造函数行只显示部分(黄色)覆盖。我查看了 EMMA 常见问题解答并在线研究了此事,但​​没有成功。有谁知道我如何才能在案例类中达到 100% 的覆盖率?

0 投票
2 回答
5687 浏览

ant - 如何让 Sonar 导出测试统计信息?

我定义了以下 Sonar Ant 目标:

当我在浏览器中运行“ant sonar”并打开 Sonar 时,我看到了 src 目录中有关类的信息,但没有看到 test 目录中的内容。

如果我将 ${test.src.dir} 添加到 sonar.sources 而没有设置 sonar.tests,我会看到一些有关测试类的信息,但 Sonar 仍然报告 0 测试成功。

我如何获得它,以便深入了解每种测试方法及其统计信息?

0 投票
2 回答
2830 浏览

android - 使用 ant 构建 Android 测试时如何为 emma 使用过滤器?

我知道在构建我的 android 测试项目时如何在 ant 中使用 emma,但我找不到任何关于在使用 SDK 时如何使用过滤器的提示。emma 网站在自己调用 emma 时对其进行了解释,但在 Android SDK 构建文件中,在 ant 文件或命令行中未调用 emma,因此我无法添加过滤器选项。

有人有什么建议吗?

0 投票
2 回答
1281 浏览

java - 艾玛是如何工作的?

为了使用 Emma,我们将首先使用 Emma 检测 jar。在此期间,将生成 em 元数据文件,并且当您在已检测的 jar 上运行 JUnit 测试用例时,将生成 ec 文件。用于生成覆盖率报告。

我的问题是我们在运行测试用例时没有指定 em 文件的路径,那么它如何生成 ec 文件?我也听说 Emma 在运行时使用端口。那个端口是什么?

0 投票
1 回答
1333 浏览

java - “java”成功,“java emmarun”失败

免责声明:我是 java 和 emma 的新手。细节:

  • 我安装了 emma,并完成了一些示例。没问题。
  • 我有一个 java 项目,其中包含一些我希望获得覆盖率报告的文件。
  • 我输入“javac -d out *.java”。没有错误。
  • 我输入“java -cp out Main”。程序运行良好,我得到了预期的输出。
  • 我输入“java emmarun -cp out Main”。我得到以下信息:

    emmarun:[MAIN_METHOD_NOT_FOUND] 应用程序类 [Main] 没有可运行的公共 main() 方法线程“main”中的异常 com.vladium.emma.EMMARuntimeException:[MAIN_METHOD_NOT_FOUND] 应用程序类 [Main] 没有可运行的公共 main( ) 方法在 com.vladium.emma.rt.AppRunner._run(AppRunner.java:546) 在 com.vladium.emma.rt.AppRunner.run(AppRunner.java:97) 在 com.vladium.emma.runCommand.run (runCommand.java:247) at emmarun.main(emmarun.java:27) 原因:java.lang.IllegalAccessException:类 com.vladium.emma.rt.AppRunner$Invoker 无法使用修饰符访问类 Main 的成员java.lang.reflect.AccessibleObject.slowCheckMemberAccess(Unknown Source) 处的 sun.reflect.Reflection.ensureMemberAccess(Unknown Source) 处的“公共静态”。reflect.AccessibleObject.checkAccess(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.vladium.emma.rt.AppRunner$Invoker.run(AppRunner.java:655) at java.lang.Thread .run(未知来源)

我的“Main.java”文件如下所示:

我会发布所有代码,但它相当冗长。我尝试过的更简单的示例可以正常工作 - emma 会自动检测并创建覆盖率报告,就像在示例中一样。

Emma 似乎找不到我的“Main”,但普通的 java 可以。我错过了什么?

0 投票
0 回答
992 浏览

java - 如何从 EMMA 报告中排除方法?

Is it possible to exclude selected methods from EMMA code coverage reports? I dont want to have getters, setters, equals methods, etc. in my final EMMA reports. I know that it is impossible to configure this in EMMA, but I'm hoping there is a trick which will allow me to skip those methods. I thought about modifying coverage.em, but I don't know the format of that file, or how to read it.