2014-01-29 128 views

回答

1

如果您正在使用maven,你應該運行MVN全新安裝以前的聲納任務

MVN全新安裝聲納:聲納

添加下面的配置,你的pom.xml:

<properties> 
    <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco-ut.exec</sonar.jacoco.reportPath> 
</properties> 

<build> 
    <plugins>         
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <argLine>${surefireArgLine}</argLine> 
       <excludes> 
        <exclude>**/*IT.java</exclude> 
       </excludes> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.jacoco</groupId> 
      <artifactId>jacoco-maven-plugin</artifactId> 
      <version>0.6.0.201210061924</version> 
      <executions> 
       <execution> 
        <id>pre-unit-test</id> 
        <goals> 
         <goal>prepare-agent</goal> 
        </goals> 
        <configuration> 
         <destFile>${sonar.jacoco.reportPath}</destFile> 
         <propertyName>surefireArgLine</propertyName> 
        </configuration> 
       </execution> 
       <execution> 
        <id>post-unit-test</id> 
        <phase>test</phase> 
        <goals> 
         <goal>report</goal> 
        </goals> 
        <configuration> 
         <dataFile>${sonar.jacoco.reportPath}</dataFile> 
         <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory> 
        </configuration> 
       </execution> 
       <execution> 
        <id>pre-integration-test</id> 
        <phase>pre-integration-test</phase> 
        <goals> 
         <goal>prepare-agent</goal> 
        </goals> 
        <configuration> 
         <destFile>${sonar.jacoco.itReportPath}</destFile> 
         <propertyName>failsafeArgLine</propertyName> 
        </configuration> 
       </execution> 
       <execution> 
        <id>post-integration-test</id> 
        <phase>post-integration-test</phase> 
        <goals> 
         <goal>report</goal> 
        </goals> 
        <configuration> 
         <dataFile>${sonar.jacoco.itReportPath}</dataFile> 
         <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.jacoco</groupId> 
       <artifactId>jacoco-maven-plugin</artifactId> 
       <version>0.6.0.201210061924</version> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 
+0

Step1。 Teamcity Project 1運行maven構建 - 負責mvn clean install並執行junit。 junit在這個構建步驟中運行,TEST.xml報告生成Step2。 Teamcity Project 1觸發Project 2,這是另一個腳本..它執行mvn聲納:sonar ...它正確讀取單元測試通過率並在儀表板上顯示...但是單元測試覆蓋率信息未讀取並顯示爲0% – jsaluja

+0

我編輯了我的答案......你可以試着用這個配置並告訴我結果嗎? –

相關問題