问题标签 [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 投票
3 回答
32255 浏览

junit - 使用 assertTrue 而不是 assertNull 时缺少分支

在 Java/Junit 中,我需要使用一些对象来测试 null。有多种方法可以测试条件,但我一直在使用 assertTrue 进行大多数测试。当我在 assertTrue 中检查空值时,EclEmma 声明它只测试一个分支。

当我手动将语句解析为变量时(例如将结果设置为布尔值并将其传递给 assertTrue),代码覆盖在断言上被认为是完整的,但在变量初始化行上没有。

为什么会这样?这是否与 Java 显然添加的额外字节码有关,如http://sourceforge.net/apps/trac/eclemma/wiki/FilteringOptions所述?任何解决方案(除了使用其他断言语句)。

断言真:

断言真:

断言空:

0 投票
1 回答
1342 浏览

eclipse - jacocoData 缺少 EclEmma 和 AbstractTransactionalJUnit4SpringContextTests

我一直在尝试使用 EclEmma 2.1.0.201202261248 来测量 DAO 的集成测试覆盖率。不幸的是,任何扩展 AbstractTransactionalJUnit4SpringContextTests 的测试(即任何实际使用部分 spring 框架的测试)都会引发以下异常:

07:35:11 错误 [main] (ASMLogger.java:72) - 抛出异常 < findByFilter > 异常消息无法解析属性:$jacocoData of: com.asentria.asm.persistence.krp.ProductData with params :: DataFilter{ SerialNum:66,KeyNum:1967,Index1:1,Index2:2,HasPendingValue:null,OrderByDesc:null,OrderByAsc:null,Class:class com.asentria.asm.filter.ProductDataFilter} org.hibernate.QueryException: 无法解析属性:$jacocoData 的:com.asentria.asm.persistence.krp.ProductData 在 org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:81) 在 org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping .java:75) 在 org.hibernate.persister.entity.AbstractEntityPersister.getSubclassPropertyTableNumber(AbstractEntityPersister.java:1468) ...

我们有一个奇怪的持久性组合——1 个直接使用 Hibernate 的 spring 管理的上下文,以及一个不由 spring 管理但也使用 Hibernate 实现的 JPA 兼容的上下文。

我知道 EclEmma 正在注入 jacocoData 字段,但我不知道如何解决这个问题。

我将不胜感激任何建议,包括如何解决此问题的想法。

0 投票
2 回答
607 浏览

java - 是否可以在 Eclipse 中使用 Emma 覆盖工具来忽略某些行?

使用单元测试查看每个测试的覆盖率时,我在 Eclipse 中使用 Emma 覆盖率工具。但是,某些行不会立即覆盖抽象类中的类声明:

是否有可能让艾玛覆盖这条线,或者 - 最好 - 忽略它?

谢谢,阿列克谢蓝。

0 投票
2 回答
1199 浏览

java - 在 Ubuntu 上使用 Eclipse 运行 Emma

我正在尝试将 Emma 覆盖工具与 Eclipse 一起使用,但我有点困惑。

所以我将 emma.jar 和 emma_ant.jar 添加到 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/emma/ 目录中,并使用 JRE 在 Eclipse 下创建了一个 Java 项目:java-6-openjdk

我将 build.xml 示例文件复制到我的项目中,并将 emma.dir 属性编辑到 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/emma/

然后,当我创建一个 .jar 文件并尝试使用 Emma 运行它时:

java emmarun -jar HelloWorld.jar

我明白了:

线程“main”中的异常 java.lang.NoClassDefFoundError: emmarun 原因:java.lang.ClassNotFoundException: emmarun at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method ) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:205) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:321) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 在 java .lang.ClassLoader.loadClass(ClassLoader.java:266) 找不到主类:emmarun。程序将会退出。

谢谢你的帮助!

0 投票
1 回答
1689 浏览

java - 无法运行 EMMA 代码覆盖率

我安装了 Java SE Development Kit 7u3

我经历过一些与此类似的主题(例如“java”成功,java emmarun“失败),但我的问题是 EMMA 根本不适合我。我运行后:

它总是说:

编译运行良好(“javac Main.java”)并且应用程序正在运行(我从“java Main”获得预期的输出)。Main.java 的代码是简单的 HelloWorld 应用程序。

我只是想在任何示例代码上运行 emmarun 以查看它是否正常工作。好吧,事实并非如此。关于我做错了什么的任何想法?

0 投票
1 回答
2065 浏览

java - 从 Emma 代码覆盖率报告中过滤 junit 测试类

我有一个项目,我有 emma 代码覆盖脚本(使用 ant)正确构建和生成测试。

我有两个包 com.myproject.abc test.com.myproject.abc

所有的 junit 测试都在 test.com.mywebsite.abc 包中。我的目标是不在报告中包含 test.com.myproject.abc 包(coverage.xml)。我已阅读有关覆盖过滤器的 emma 文档并查看了其他几个示例,但如果不将 junit 测试包含在仪器中,则无法使其正常工作。

如果我在检测目标中包含过滤器......它不会检测用于 junit 测试的 junit 类。结果是 classNotFoundException。

这是我的代码。

当检测发生时,它将所有检测类移动到 emma/instrumentation - 它包含在类路径中。

所以重复一遍 - 是否可以从 Emma Coverage 报告中排除 JUNIT 测试?我需要改变什么?提前致谢。

我正在使用 emma 2.1(代码覆盖率)、java 和 ant。

0 投票
1 回答
1217 浏览

java - 我可以从 Eclemma 代码覆盖工具 Java 中排除自动生成的代码吗?

是否可以从 eclemma 代码覆盖工具中隐藏我的一些代码(例如自动生成的代码)。在 c# 中有一个选项可以执行此处描述的选项,我们在 Java 中是否有类似的东西?

编辑:我没有使用 ant,我使用 eclipce 的 Eclema 插件,我可以做任何配置来从覆盖工具中排除我的一些代码。

谢谢!

0 投票
0 回答
1106 浏览

java - 艾玛 [MAIN_METHOD_NOT_FOUND]

我正在尝试使用 Emma 检查我的应用程序的代码覆盖率并尝试像这样运行

但是我的类 ValidatorClient.java 有一个有效的 main 方法

有人可以对此有所了解吗?

提前致谢

0 投票
1 回答
666 浏览

unit-testing - 从 emma 代码覆盖范围中排除 maven 模块

我有一个 Maven 超级 pom,由多个模块组成。我mvn emma:emma在超级 pom 上运行,我得到了所有模块(定义了测试)的 emma 代码覆盖率。

现在我希望从 emma 代码覆盖运行中排除其中一个模块。这样当我 mvn emma:emma在超级 pom 上运行时,特定模块不会测量代码覆盖率。但是当我做mvn test所有模块测试时,将照常执行。

我怎么做?

0 投票
1 回答
1016 浏览

android - 检查android库的测试覆盖率的正确方法是什么?

我的主要项目是一个android库。我创建了一个包含一些单元测试的测试项目。测试运行良好,但我正在努力获得测试覆盖率。当我生成覆盖率报告时,我只得到测试用例的覆盖率,而不是库的覆盖率。所以它给了我几乎 100%,因为 100% 的测试正在运行。但这并不能帮助我判断图书馆的哪一部分已经过测试。

这就是我目前的做法:

如果我不执行步骤 2),那么步骤 3) 将失败,因为无法安装库项目

任何帮助将不胜感激!