coverageratioと組み合わせユニットと統合テストのJacocoカバレッジ

アレクサンダルGrujic:

私のプロジェクトで、私はJacocoは、私はその組み合わせカバレッジの設定coverageratioしたいcoverage.Nowショーは、コードを組み合わせたユニットテストのカバレッジレポートだけでなく、統合テスト、および1つのレポートを表示するプラグイン使用していますが、私のビルドは今ので、失敗しているJacocoのみユニットのコードカバレッジを探し、組み合わせのレポートを指定するよりも、当然のことながら、小さくなっている、結合していません。私はのpom.xmlで何かが足りないのですか?ここでcoverageratioにについてのpom.xmlの私の構成は次のとおりです。

<execution>
                            <id>default-check</id>
                            <goals>
                                <goal>check</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <rule>
                                        <element>BUNDLE</element>
                                        <limits>
                                            <limit>
                                                <counter>LINE</counter>
                                                <value>COVEREDRATIO</value>
                                                <minimum>0.80</minimum>
                                            </limit>
                                        </limits>
                                    </rule>
                                </rules>
                            </configuration>
                        </execution>
Cipous:

編集:たぶん、もっと素敵な方法ですが、同じファイルを使用達成することであるが、それは私たちのために働く別の試験では、追加しましょう - ユニットを、それがテストします。

                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.8.1</version>
                    <executions>
                        <execution>
                            <id>default-prepare-agent</id>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                            <configuration>
                                <skip>${maven.surefire.skipTests}</skip>
                                <propertyName>maven.surefire.argLine</propertyName>
                                <!-- using the same dest file for both UT and IT -->
                                <destFile>${sonar.jacoco.reportPath}</destFile>
                            </configuration>
                        </execution>
                        <execution>
                            <id>default-prepare-agent-integration</id>
                            <goals>
                                <goal>prepare-agent-integration</goal>
                            </goals>
                            <configuration>
                                <skip>${maven.failsafe.skipTests}</skip>
                                <propertyName>maven.failsafe.argLine</propertyName>
                                <!-- append to the UT dest file -->
                                <destFile>${sonar.jacoco.reportPath}</destFile>
                                <append>true</append>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>${maven.surefire.skipTests}</skipTests>
                    <failIfNoTests>${maven.surefire.failIfNoTests}</failIfNoTests>
                    <!-- allow argLine to be modified by other plugins, e.g. jacoco -->
                    <argLine>@{maven.surefire.argLine}</argLine>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <skipTests>${maven.failsafe.skipTests}</skipTests>
                    <failIfNoTests>${maven.failsafe.failIfNoTests}</failIfNoTests>
                    <!-- allow argLine to be modified by other plugins, e.g. jacoco -->
                    <argLine>@{maven.failsafe.argLine}</argLine>
                </configuration>
            </plugin>

元のテキスト:私はインスピレーションを得た別のポストをうまくとしてこのブログでは、その結果がマージされ、唯一それが失敗したバンドル全体(個々のないクラス)のユニットテスト、統合テストのカバレッジを測定して表示されている次のコード、その結果、カバレッジが70%未満の場合。

<build>
  <plugins>
    <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.2</version>
            <executions>
                <execution>
                    <id>pre-unit-test</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                    <configuration>
                        <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile>
                        <propertyName>surefireArgLine</propertyName>
                    </configuration>
                </execution>
                <execution>
                    <id>pre-integration-test</id>
                    <goals>
                        <goal>prepare-agent-integration</goal>
                    </goals>
                    <configuration>
                        <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
                        <propertyName>testArgLine</propertyName>
                    </configuration>
                </execution>

                <execution>
                    <id>post-integration-test</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                    <configuration>
                        <dataFile>${project.build.directory}/coverage-reports/jacoco-it.exec</dataFile>
                        <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
                    </configuration>
                </execution>
                <execution>
                    <id>post-unit-test</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                    <configuration>
                        <dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile>
                        <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
                    </configuration>
                </execution>
                <execution>
                    <id>merge-results</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>merge</goal>
                    </goals>
                    <configuration>
                        <fileSets>
                            <fileSet>
                                <directory>${project.build.directory}/coverage-reports</directory>
                                <includes>
                                    <include>*.exec</include>
                                </includes>
                            </fileSet>
                        </fileSets>
                        <destFile>${project.build.directory}/coverage-reports/aggregate.exec</destFile>
                    </configuration>
                </execution>
                <execution>
                    <id>post-merge-report</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                    <configuration>
                        <dataFile>${project.build.directory}/coverage-reports/aggregate.exec</dataFile>
                        <outputDirectory>${project.reporting.outputDirectory}/jacoco-aggregate</outputDirectory>
                    </configuration>
                </execution>


                <execution>
                    <id>check</id>
                    <goals>
                        <goal>check</goal>
                    </goals>
                    <configuration>
                        <dataFile>${project.build.directory}/coverage-reports/aggregate.exec</dataFile>
                        <rules>
                            <rule>
                                <element>BUNDLE</element>
                                <limits>
                                    <limit>
                                        <counter>LINE</counter>
                                        <value>COVEREDRATIO</value>
                                        <minimum>0.70</minimum>
                                    </limit>
                                    <limit>
                                        <counter>BRANCH</counter>
                                        <value>COVEREDRATIO</value>
                                        <minimum>0.70</minimum>
                                    </limit>
                                </limits>
                                <excludes>
                                    <exclude>com.xyz.ClassToExclude</exclude>
                                </excludes>
                            </rule>
                        </rules>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
            <configuration>
                <argLine>${surefireArgLine}</argLine>
                <skipTests>${skip.unit.tests}</skipTests>
                <includes>
                    <include>**/*UT.java</include>
                    <include>**/*MT.java</include>
                    <include>**/*Test.java</include>
                </includes>
                <skipTests>${skipUTMTs}</skipTests>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.21.0</version>
            <configuration>
                <skipTests>${skipTests}</skipTests>
                <skipITs>${skipITs}</skipITs>
                <argLine>${testArgLine}</argLine>
                <excludes>
                    <exclude>**/*UT*.java</exclude>
                </excludes>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=200542&siteId=1