2015-07-07 16 views
5

Poniżej znajduje się mój profil pliku Maste pom dla moich testów jednostek produktu. mamy testy wtyczek junit. Te konfiguracje plików pom nie dają mi pliku zasięgu kodu jacoko (.exec) w żadnej lokalizacji. proszę mi pomóc, jeśli coś jest nie tak, gdzie. Dziękujemypokrycie kodu dla testów wtyczek junit z maven

<profile> 
     <id>unit-tests</id> 
     <modules> 
      <module>../../../test/com.xxxx.tools.comms.test.utilities</module> 

      <!-- product related unit tests 
      <module>../../../test/com.xxxx.comms.product.test</module> 
      <module>../../../test/com.xxxx.comms.product.mas.test</module>--> 
      <module>../../../test/com.xxxx.comms.product.iv.test</module> 
     </modules> 

     <properties> 
      <!-- Properties to enable jacoco code coverage analysis --> 
      <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> 
      <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis> 
     </properties> 

     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.jacoco</groupId> 
        <artifactId>jacoco-maven-plugin</artifactId> 
        <version>0.7.2.201409121644</version> 
        <configuration> 
         <!-- Where to put jacoco coverage report --> 
         <destFile>C:/Userdata/product/GIT/Team/coverage/product1/jacoco/12.exec</destFile> 
        </configuration> 
        <executions> 
         <execution> 
          <id>jacoco-initialize</id> 
          <goals> 
           <goal>prepare-agent</goal> 
          </goals> 

         </execution> 
         <execution> 
          <id>jacoco-site</id> 
          <phase>package</phase> 
          <goals> 
           <goal>report</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 


<build> 
     <plugins> 
      <!-- Use of Tycho --> 
      <plugin> 
       <groupId>org.eclipse.tycho</groupId> 
       <artifactId>tycho-maven-plugin</artifactId> 
       <version>${tycho-version}</version> 
       <extensions>true</extensions> 
      </plugin> 

      <plugin> 
       <groupId>org.eclipse.tycho</groupId> 
       <artifactId>tycho-surefire-plugin</artifactId> 
       <version>${tycho-version}</version> 
       <configuration> 
        <includes> 
         <include>**/Tests*.java,**/*Tests.java,**/*TestCase.java,**/Test*.java,**/*Test.java</include> 
        </includes> 
        <argLine>${argLine}</argLine> 
        <useUIHarness>true</useUIHarness> 
        <!-- Kill test JVM if tests take more than 1 minute to finish --> 
        <forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds> 
        <testFailureIgnore>true</testFailureIgnore> 
       </configuration> 

      </plugin> 

      <!-- Configuration of target platforms --> 
      <plugin> 
       <groupId>org.eclipse.tycho</groupId> 
       <artifactId>target-platform-configuration</artifactId> 
       <version>${tycho-version}</version> 
       <configuration> 
        <pomDependencies>consider</pomDependencies> 
        <resolver>p2</resolver> 
        <environments> 
         <environment> 
          <os>win32</os> 
          <ws>win32</ws> 
          <arch>x86</arch> 
         </environment> 
        </environments> 
       </configuration> 
      </plugin> 

     </plugins> 

     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.eclipse.tycho</groupId> 
        <artifactId>tycho-packaging-plugin</artifactId> 
        <version>${tycho-version}</version> 
        <configuration> 
         <!-- workaround for TYCHO-349 or TYCHO-313 --> 
         <strictVersions>false</strictVersions> 
        </configuration> 
       </plugin> 

       <plugin> 
        <groupId>org.eclipse.tycho</groupId> 
        <artifactId>tycho-compiler-plugin</artifactId> 
        <version>${tycho-version}</version> 
        <configuration> 
         <source>${jdk.version}</source> 
         <target>${jdk.version}</target> 
        </configuration> 
       </plugin> 

      </plugins> 
     </pluginManagement> 
    </build> 
+0

Jaka jest Twoja konfiguracja surefire? Musisz skonfigurować surefire to fork, aby włączyć agenta jacoco. – SpaceTrucker

+0

proszę znaleźć moją konfigurację wtyczki dodaną powyżej. Ale widzę, że domyślnie widelec jest prawdziwy, a forkCount = 1 –

+0

Głównym winowajcą jest używanie tegougunowego pugina, jak sądzę. Jest trochę informacji na ten temat w sieci, ale wydaje się, że zawsze jest dużo skrzypiec. Możesz rzucić okiem na te: https://intellectualcramps.wordpress.com/2012/03/22/jacoco-tycho-and-coverage-reports/, http://stackoverflow.com/questions/8944223/how-do -i-make-jenkins-sonar-and-the-jacoco-plugin-work-together-for-eclipse-tyc, http://mdwhatever.free.fr/index.php/2011/09/quality-analysis-on -eclipse-plugins-with-teno-sonar-jacoco-and-swtbot /, https://github.com/SonarSource/sonar-examples/tree/master/projects/tycho – SpaceTrucker

Odpowiedz

1

Mam źródło problemu.
Winowajcą jest parametr <argLine> w konfiguracji tycho-surefire-plugin.
Jeśli ten parametr jest obecny, plik jacoco nie zostanie wygenerowany. Usunąłem go, a teraz wygenerowano plik .exec.
Więcej informacji na temat tycho-surefire argLine causes no jacaco.exec