5

皆さん!Maven / Java プロジェクトで pitest-maven プラグインを使用しようとしましたが、集計レポートの生成に失敗しているようです (マルチモジュール プロジェクトがあることを考慮して)。公式 Web サイトや他のいくつかの情報源から情報を収集しましたが、このシナリオの適切な構成を定義するのに役立つ情報はありませんでした。一言で言えば、私の構造は次のようになります。

親プロジェクト

  • 子A
  • 子B
  • 子 ...
  • 子 N

一部のサブモジュールでは、pi-test を実行することが理にかなっていますが、そうでないサブモジュールもあります。つまり、私の構成は一般的にです。

親モジュール pom:

<profile>
        <id>run-pitest</id>
        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.pitest</groupId>
                        <artifactId>pitest-maven</artifactId>
                        <version>1.3.2</version>
                        <configuration>
                            <outputFormats>
                                <param>HTML</param>
                                <param>XML</param>
                            </outputFormats>
                            <!--<historyInputFile>${project.basedir}/pitHistory.txt</historyInputFile>-->
                            <!--<historyOutputFile>${project.basedir}/pitHistory.txt</historyOutputFile>-->
                            <mutators>
                                <mutator>CONDITIONALS_BOUNDARY</mutator>
                                <mutator>MATH</mutator>
                                <mutator>INCREMENTS</mutator>
                                <mutator>NEGATE_CONDITIONALS</mutator>
                            </mutators>
                            <verbose>true</verbose>
                            <exportLineCoverage>true</exportLineCoverage>
                            <testPlugin>testng</testPlugin>
                            <!--<reportsDirectory>${project.build.directory}/pit-reports</reportsDirectory>-->
                        </configuration>
                        <executions>
                            <execution>
                                <phase>test</phase>
                                <goals>
                                    <goal>mutationCoverage</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>report</id>
                                <phase>site</phase>
                                <goals>
                                    <goal>report-aggregate</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.pitest</groupId>
                    <artifactId>pitest-maven</artifactId>
                </plugin>
            </plugins>
        </build>
    </profile>

ミューテーションのある子プロジェクト:

<plugins>
        <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <configuration>
                <mutationThreshold>80</mutationThreshold>
                <exportLineCoverage>true</exportLineCoverage>
            </configuration>
        </plugin>
    </plugins>

最後に、linecoverage.xmlMutations.xmlなどのファイルを作成するクリーン インストールを実行した後でも、フェーズ サイト(親で定義されている)を実行しようとすると、次のエラーが発生します。

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.820 s
[INFO] Finished at: 2018-04-06T13:20:47+02:00
[INFO] Final Memory: 35M/514M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.pitest:pitest-maven:1.3.2:report-aggregate (report) on project my-parent: An error has occurred in PIT Test Report report generation. Failed to build: no lineCoverageFiles have been set -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
...

私の構成が間違っていたのか、それともこのセットアップの一部を行うためのより良い方法があるのか​​ 、手がかりを持っている人はいますか?

4

1 に答える 1