簡體   English   中英

Jenkins和Jacoco集成測試覆蓋率

[英]Jenkins and Jacoco Integration Test Coverage

我剛剛在我的Maven依賴項上添加了Jacoco,以運行集成測試。 然后,我創建了一個集成測試來測試我的控制器。 例如,我測試了HTTP響應代碼,標頭和響應資源。 之后,我在maven上創建了一個配置文件,該配置文件啟動了嵌入式tomcat。 因此,每次我要運行集成測試時,我都將概要放在了Maven目標上。 但是,當我在Jenkins上執行構建時,Sonar從Jacoco讀取了報告,報告說我尚未測試我的控制器。 問題是:如何告訴Jacoco我已通過控制器,服務和存儲庫?

謝謝大家!

您獲得任何集成覆蓋率,還是只有0%? 使用maven和Sonar設置Integration Test Coverage可能非常棘手。

檢查在運行IT測試時是否生成了jacoco文件。

與此相比,檢查您的POM設置...

<properties>
    <!-- Jacoco Properties -->
    <jacoco.version>0.7.4.201502262128</jacoco.version>
    <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
    <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
    <sonar.jacoco.itReportPath>${project.basedir}/target/jacoco-it.exec</sonar.jacoco.itReportPath>
    <sonar.language>java</sonar.language>        
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${jacoco.version}</version>
            <executions>
                <execution>
                    <id>prepare-unit-test-agent</id>
                    <configuration>
                    </configuration>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>jacoco-site</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
                <execution>
                    <id>prepare-it-test-agent</id>
                    <configuration>
                        <propertyName>jacoco.agent.argLine</propertyName>
                        <destFile>${sonar.jacoco.itReportPath}</destFile>
                        <append>true</append>
                    </configuration>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.12.4</version>
            <configuration>
                <argLine>${jacoco.agent.argLine}</argLine>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>    

鏈接到GitHub示例

超越編碼網

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM