首页 文章

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

提问于
浏览
0

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

Something about running the tests: 我正在开发一个多模块项目,每个子项目都有一个Deployments类,其中我们有两个方法 - 一个用于创建REST类的shrinkwrap存档,另一个用于非REST类 . 在arqullian.xml中,我们将其配置为 REST_CONTAINERNON_REST_CONTAINER ,并提供WildFly安装目录的路径 . 当我们运行 gradle build test 时,它将通过部署REST.ear和非REST.ear来运行整个测试并生成覆盖率报告 .

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

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

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

1 回答

  • 0

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

    apply plugin: 'jacoco'  
    jacoco {     
        toolVersion = '0.7.4.201502262128'  
        reportsDir = file("$buildDir/jacoco")  
    }  
    
    dependencies {  
    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' 
    }
    
    // Important: add the Jacoco libs on the test classpath (required for the Jacoco Arquillian extension to work). 
    sourceSets {  
         test.runtimeClasspath += configurations.jacocoAnt 
    
    }
    

相关问题