我正在使用Ant在RHEL6机器上运行Sonar Java代码分析。对于集成测试分析,我使用JaCoCo sonar插件。我的库类路径中有插件。当我运行Selenium测试时,会生成一个“jacoco.exec”文件(10个测试大约1MB)。然后在我的Sonar Ant目标中激活Jacoco插件,并将其导入Sonar。声纳分析日志显示,已对Jacoco文件进行了分析(耗时约5000毫秒)。然而,我的Sonar IT小部件显示0%的代码覆盖率。通过使用Cobertura,我成功地获得了单元测试代码覆盖率。
我的测试目标:
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
<classpath path="${buildHome}/libs/jacocoant.jar"/>
</taskdef>
<jacoco:coverage xmlns:jacoco="antlib:org.jacoco.ant">
<junit fork="yes" failureproperty="true" forkmode="once" maxmemory="1024m">
<formatter type="xml" />
<classpath refid="buildClasspath" />
<test name="${testName}" todir="${testLogs}" if="testcase" />
<batchtest haltonerror="false" todir="${testLogs}">
<fileset dir="${SeleniumScripts">
<include name="**/*.java" />
</fileset>
</batchtest>
</junit>
</jacoco:coverage>
我的声纳蚂蚁目标:
...
<property name="sonar.sources" value="${srcCode" />
<property name="sonar.tests" value="${testCode}" />
<property name="sonar.binaries" value="${srcAndTestBinaries}" />
<property name="sonar.dynamicAnalysis" value="reuseReports"/>
<property name="sonar.surefire.reportsPath" value="${reportsPath}" />
<property name="sonar.core.codeCoveragePlugin" value="jacoco" />
<property name="sonar.jacoco.itReportPath" value="${jacocoCoveragePath}/jacoco.exec" />
<!-- Add the Sonar task -->
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
<classpath path="${antLibPath}/sonar-ant-task-1.4.jar" />
</taskdef>
<sonar:sonar key="projectKey" version="1.0" xmlns:sonar="antlib:org.sonar.ant"/>
我试着只包含“相关”的东西。我不确定“jacoco:coverage”元素是否适用于Selenium测试,但在执行日志中它提到了“代理”,因此我假设代理在这里也用作Java VM上的代理。
我卡住了,请帮忙:)
更新这里是声纳输出的一部分:
[sonar:sonar] 08:36:15.619 INFO p.PhasesTimeProfiler - Sensor JaCoCoItSensor...
[sonar:sonar] 08:36:15.623 INFO o.s.p.j.JaCoCoPlugin - Analysing [file path omitted]\jacoco.exec
[sonar:sonar] 08:36:17.272 INFO p.PhasesTimeProfiler - Sensor JaCoCoItSensor done: 1653 ms
我可能错过了,但我不知道你在哪里告诉代理把结果存储在哪里。
在我的蚂蚁脚本中,我有这样一个:
<jacoco:coverage enabled="${my.coverage.enabled}" destfile="${test.log.dir}/jacoco.exec">
包装junit任务。尝试定义destfile=“${jacocococoveragepath}/jacoco.exec”
,看看这是否能解决问题。
嗨,我也在使用jacoco为验收测试生成代码覆盖率的过程中。对于单元测试,我使用的是cobertura,我能够在sonar仪表板上看到代码覆盖率和单元测试报告。
现在来获取验收测试的代码covergae。我们使用selenium运行验收测试。我想知道jacoco如何为使用selenium运行的验收测试生成代码覆盖率。
根据我的猜测,我认为你应该提到jacocoagent的路径。jar而不是JACOCONT。罐子我也可能错了。如果您已经找到了一种为在selenium上运行的测试生成代码覆盖率的方法,您可以提供解决方案吗
我正在使用: 声纳v.3.2(有jacoco) Maven 3.0.4 跟随”http://johndobie.blogspot.in/2012/05/easy-unit-and-integration-code-coverage.html#comment-表格“以获得单元的单独代码覆盖率 日志显示如下: POM文件:
我正在尝试使用JaCoCo-javaagent传递VM参数来获得代码覆盖率 -Java agent:/test/jaco co/jaco agent . jar = dest file =/test/jaco co/jaco co . exec,includes=com。*,append=true 我能在jacoco中获得一些价值。执行文件,但无法获取覆盖率报告。我怎样才能把jacoco转化成。执
我在声纳中的代码覆盖率显示为0%,这不是真的,因为我有单元测试。 格拉德尔 当我打开inside然后我可以看到成功的单元测试。 我在Jenkins环境中运行作为
我正在尝试集成Jacoco,以便使用Maven获得Cucumber测试的代码覆盖率。以下是我的项目结构: > -src主java页面 -src主java助手 -src-测试-java-资源-功能 -src测试java步骤 以下是我的POM中的Jacoco配置。xml 我能够生成代码覆盖率报告。但是,在报告中,它涵盖了-src主包中的所有类。根据不同的google搜索和SO帖子,我试图修改POM以排
我正在使用Jacoco插件使用jenkins获得代码覆盖率。我能够看到代码覆盖率。当我尝试使用相同的jacoco.exec文件来生成声纳代码覆盖率时,它显示:由于没有类文件,无法对项目覆盖率进行JaCoCo分析。我使用以下声纳属性: 我正在使用SonarQube 5.3
我的代码运行在具有单独JVM的单独虚拟机上。我想在此虚拟机上以tcpserver模式设置JaCoCo代理以收集覆盖率数据。然后,我将在我的maven项目中以tcpclient模式设置JaCoCo代理,以连接到上面提到的VM并获取覆盖率数据。 问题是代理不收集任何覆盖数据。在中创建了覆盖率数据文件,但该文件为空。 下面是代理选项:-Java agent:/usr/xx/plugins/org . j