Hybris Jacoco Sonar 包括所有网络测试到结果报告
Posted
技术标签:
【中文标题】Hybris Jacoco Sonar 包括所有网络测试到结果报告【英文标题】:Hybris Jacoco Sonar include allwebtests to result report 【发布时间】:2019-02-17 23:07:12 【问题描述】:我正在尝试将Jacoco
整合到Hybris
中并将报告发送到Sonar
。我设法实现Hybris
向Sonar
发送报告,但结果报告中不包含ant allwebtests 目标。这是我创建并放入以下路径的 acc-ant-sonar.xml :
HYBRIS_CONFIG_FOLDER/customize/ext-accelerator/acceleratorservices/resources/acceleratorservices/ant/acc-ant-sonar.xml
<project name="acc.ant.sonar" xmlns:jacoco="antlib:org.jacoco.ant">
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
<classpath path="$ext.acceleratorservices.path/lib/jacocoant.jar"/>
</taskdef>
<target name="jacocoalltests" description="runs allstests with jacoco attached">
<jacoco:agent property="agentvmparam"
append="true"
output="file"
destfile="$HYBRIS_LOG_DIR/junit/jacoco.exec"
/>
<property name="testclasses.packages" value="$testclasses.packages"/>
<ant dir="$platformhome" target="alltests" inheritrefs="false">
<property name="standalone.javaoptions" value="$agentvmparam $standalone.javaoptions"/>
</ant>
</target>
<target name="jacocounittests" description="runs allstests with jacoco attached">
<jacoco:agent property="agentvmparam"
destfile="$HYBRIS_LOG_DIR/junit/jacoco.exec"
/>
<property name="testclasses.packages" value="$testclasses.packages"/>
<ant dir="$platformhome" target="unittests" inheritrefs="false">
<property name="standalone.javaoptions" value="$agentvmparam $standalone.javaoptions"/>
</ant>
</target>
<target name="jacocointegrationtests" description="runs allstests with jacoco attached">
<jacoco:agent property="agentvmparam"
destfile="$HYBRIS_LOG_DIR/junit/jacoco-it.exec"
/>
<property name="testclasses.packages" value="$testclasses.packages"/>
<ant dir="$platformhome" target="integrationtests" inheritrefs="false">
<property name="standalone.javaoptions" value="$agentvmparam $standalone.javaoptions"/>
</ant>
</target>
</project>
我想在这个文件中添加目标jacocoallwebtests,但Hybris
不包含这样的目标。那么,如何将 allwebtests 包含到 Jacoco
报告中,该报告将发送到 Sonar
?
【问题讨论】:
【参考方案1】:您可以使用与非 Web 测试相同的目标来执行 Web 测试。您只需将testclasses.web
设置为true
。 jacocoallwebtests 示例:
<target name="jacocoallwebtests" description="runs allwebtests with jacoco attached">
<jacoco:agent property="agentvmparam"
append="true"
output="file"
destfile="$HYBRIS_LOG_DIR/junit/jacoco.exec" />
<property name="testclasses.packages" value="$testclasses.packages"/>
<property name="testclasses.web" value="true"/>
<ant dir="$platformhome" target="alltests" inheritrefs="false">
<property name="standalone.javaoptions"
value="$agentvmparam $standalone.javaoptions" />
</ant>
</target>
【讨论】:
以上是关于Hybris Jacoco Sonar 包括所有网络测试到结果报告的主要内容,如果未能解决你的问题,请参考以下文章
Sonar 和 Jacoco:由于没有类文件,因此无法对项目覆盖率进行 JaCoCo 分析
使用 Jacoco 从 Sonar 中的条件覆盖范围中排除 groovy slf4j 日志记录