Ant を使用して RHEL6 マシンで Sonar Java コード分析を実行しています。統合テスト分析には、ソナー用の JaCoCo プラグインを使用しています。ライブラリのクラスパスにプラグインがあります。Selenium テストを実行すると、「jacoco.exec」ファイルが生成されます (10 回のテストで約 1MB)。次に、Sonar Ant ターゲットで Jacoco プラグインを有効にして、Sonar にインポートします。ソナー分析ログは、Jacoco ファイルが分析されたことを示しています (約 5000 ミリ秒かかりました)。ただし、My 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>
私のSonar Antターゲット:
...
<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