gradle - 使用 Wildfly-Arquillian-Gradle-Jacoco 的 EJB 的代码覆盖率

标签 gradle code-coverage wildfly-8 jboss-arquillian jacoco

我正在尝试为我的项目设置代码覆盖率。我使用 Wildfly 8.2 服务器,gradle 作为构建工具,使用 JUnit 和 Arquillian 进行测试。在 gradle 中,我配置了 jacoco 插件来生成代码覆盖率。我有一个名为 的任务jacoco 测试报告 这允许我生成一个 html 报告。

关于运行测试的一些事情:
我正在开发一个多模块项目,每个子项目都有一个 Deployments 类,其中我们有两种方法 - 一种用于创建 REST 类的收缩包装存档,另一种用于非 REST 类。在 arqullian.xml 我们将其配置为 REST_CONTAINER NON_REST_CONTAINER 并给出 WildFly 安装目录的路径。当我们运行 gradle 构建测试 , 它将通过部署 REST.ear 和 non-REST.ear 来运行整个测试并生成覆盖率报告。

问题是 EJB 和其他服务器管理类的代码覆盖率显示为 0%(来自覆盖率报告的主要分析)。我还分析了 jacoco.exec,发现文件中没有列出覆盖率为 0% 的类(主要是 bean 类)。

有人可以为我提供适用于该组合的正确配置:Wildfly-Arquillian-Gradle-Jacoco

注意:我可以使用 jacoco 以外的工具,尝试过 cobertura 但结果相同。

最佳答案

这对我有用(但我使用 jboss7 应该不是问题)来源:https://developer.jboss.org/thread/241883

应用插件:'jacoco'
雅可{
工具版本 = '0.7.4.201502262128'
报告目录 = 文件(“$buildDir/jacoco”)
}

依赖{
testCompile 'YOUR_ARQUILLIAN_ADAPTER'
testCompile 'org.jboss.arquillian.junit:arquillian-junit-container:1.1.5.Final'
testCompile 'org.jboss.arquillian.extension:arquillian-jacoco:1.0.0.Alpha7'
}

//重要:在测试类路径中添加 Jacoco 库(Jacoco Arquillian 扩展工作所必需的)。
源集{
test.runtimeClasspath +=configurations.jacocoAnt

}

关于gradle - 使用 Wildfly-Arquillian-Gradle-Jacoco 的 EJB 的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30347492/

相关文章:

log4j - 在 Wildly 8.1 中添加 SMTP 日志处理程序

docker - 从gitlab ci使用docker发布镜像

java - 如何让 jar 任务在 gradle 中包含单个依赖项

java.lang.RuntimeException : Stub! - Android 代码覆盖率?

PHPUnit:smarty 模板的代码覆盖率

visual-studio - 如何使用 Visual Studio 2012 和 NUnit 命令行工具生成代码覆盖率报告?

java - wildfly 8.2 读取耳内属性文件

eclipse - 为什么Gradle-> Refresh从.classpath中删除我的protobuf源文件夹?

android - 如何从我包含在 Android 上的第三方库中删除未使用的资源?

java - 将Grails(2.2.4)应用程序从JBoss 5.1迁移到Wildfly 8.2.1