web-dev-qa-db-ja.com

Mavenでレポートが生成されない-Surefire-Reportプラグイン

タイトルが示すように、Mavenプロジェクトの実行時にJUnitの結果のHTMLレポートを生成しようとしています。別の人からmaven-surefire-reportプラグインをチェックするように言われましたが、必要なものが含まれているようですが、HTMLファイルを生成できないようです。上司宛ての電子メールに入れることができるHTMLファイルのみを生成したいと思っています。結果をサイトに投稿するという道をたどりたくはありません(少なくとも現時点では)。

これが私のpomセクションが確実にどのように見えるかです(タグの欠落について心配しないでください。関連するセクションをコピーして貼り付け、会社情報を貼り付けないようにしていますが、適切な開始/終了タグがあることを知っています):

[〜#〜] edit [〜#〜]:完全なpomを追加しました。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>myGroup</groupId>
    <artifactId>myArtifact</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>myName</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <Java.version>1.8</Java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/net.sourceforge.jtds/jtds -->
        <dependency>
            <groupId>net.sourceforge.jtds</groupId>
            <artifactId>jtds</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>1.4.0.RELEASE</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.6.5</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.Apache.logging.log4j/log4j-core -->
        <dependency>
            <groupId>org.Apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.6.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.0.2</version>
        </dependency>

        <dependency>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
            <version>2.19.1</version>
            <type>maven-plugin</type>
        </dependency>

        <dependency>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <type>maven-plugin</type>
        </dependency>
    </dependencies>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.19.1</version>
            </plugin>

            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
            </plugin>

            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <outputDirectory>${basedir}/target/site/surefire-report.html</outputDirectory>
                </configuration>
                <!--<configuration>-->
                    <!--<outputDirectory>C:\Users\ab66378\Desktop</outputDirectory>-->
                <!--</configuration>-->
            </plugin>
        </plugins>
    </reporting>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

私の知る限り、そしてガイドと私が見たことがないものによると、これが私が必要とするすべてです。 pomの依存関係とレポートプラグインのセクションだけですが、まだHTMLファイルが生成されていません。

足りない部分はごくわずかになりそうな気がしますが、なかなか見つからないようです。

7
user1818298

デフォルトのレポートは$ {basedir} /target/site/surefire-report.htmlにあります。

プラグイン/依存関係にそれぞれmaven-surefire-pluginとjunitを含める必要があると思います。

Surefireレポートプラグインは、$ {basedir}/target/surefire-reportsのTEST-。xmlに一致するファイルを自動的に解析しますが、生成するにはmaven-surefire-pluginが必要だと思います。 TEST-。xmlファイル

これがプラグインのドキュメントです。 1つの方法は、ビルドを実行して、TEST-*。xmlファイルが生成されているかどうかを確認することです。

http://maven.Apache.org/surefire/maven-surefire-plugin/index.html

2
Dan King

以下のように構成します

<configuration>
<outputDirectory>${basedir}/target/newsite</outputDirectory>
</configuration>

スタンドアロンツールを使用すると、次のようにパスを変更できます

mvn surefire-report:report -DoutputDirectory=newpath
0
Arunakiran Nulu