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>
Jaka jest Twoja konfiguracja surefire? Musisz skonfigurować surefire to fork, aby włączyć agenta jacoco. – SpaceTrucker
proszę znaleźć moją konfigurację wtyczki dodaną powyżej. Ale widzę, że domyślnie widelec jest prawdziwy, a forkCount = 1 –
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