2016-09-27 3 views
2

Wie der Titel schon sagt, versuche ich einen HTML-Bericht der JUnit-Ergebnisse zu generieren, wenn mein Maven-Projekt ausgeführt wird. Mir wurde gesagt, dass ich das maven-surefire-report-Plugin von einer anderen Person ausprobieren sollte und es sieht so aus, als ob es das hat, was ich will, aber ich kann einfach nicht scheinen, dass die HTML-Datei erzeugt wird. Ich möchte nur eine HTML-Datei erzeugen, die ich dann für meine Chefs in eine E-Mail schreiben kann. Ich möchte nicht wirklich die Straße gehen lassen, um die Ergebnisse auf eine Website zu posten (zumindest im Moment nicht).Bericht wird nicht mit dem Maven-Surefire-Report plugin erstellt

Hier ist, was meine pom Abschnitt für todsichere aussieht (keine Sorge über fehlende Tags. Ich bin Kopieren und Einfügen der relevanten Abschnitte und versuchen, nicht Firmeninformationen einfügen, aber wissen, ich habe die richtige Eröffnung/Schließung Tags):

BEARBEITEN: Volle pom hinzugefügt.

<?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> 

Soweit ich weiß, und nach den Leitfäden und was ich nicht angeschaut habe, das ist alles was ich brauche. Nur die Pom-Abhängigkeit und die Reporting-Plugin-Sektion, aber ich sehe immer noch keine HTML-Datei generiert.

Ich habe das Gefühl, der Teil, den ich vermisse, wird sehr minimal sein, aber ich kann es einfach nicht finden.

+1

Haben Sie eine Zielausgabedatei erzeugt? Sollte irgendwo da sein. Wenn nicht, haben Sie möglicherweise kein Ausgabeverzeichnis für den Bericht konfiguriert. – robx

+0

Ich habe versucht, ein wenig mit Ausgabeverzeichnissen herumzualbern, aber ich konnte immer noch nichts finden. Ich habe zuerst versucht, die Ausgabe nur dem Desktop hinzuzufügen, damit ich sehen konnte, ob es funktionierte. Hier ist, wie es aussah: C: \ Benutzer \ Benutzername \ Desktop user1818298

Antwort

0

Der Standardbericht sollte jeweils in $ {basedir} /target/site/surefire-report.html

Ich glaube, Sie müssen möglicherweise enthalten Maven-todsichere-Plugin und junit in den plugins/Abhängigkeiten befinden.

Der todsichere Bericht Plugin die entsprechenden Dateien TEST- .xml in $ {basedir}/target/todsichere-Berichte automatisch analysieren, aber ich glaube, dass Sie das Maven-todsichere-Plugin, um die TEST- generieren müssen. XML-Dateien

Hier ist die Dokumentation zu dem Plugin. Eine Möglichkeit wäre, den Build auszuführen und zu sehen, ob die TEST - * .xml-Dateien generiert werden.

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

+0

Vielen Dank für die Antwort Dan. Hier ist ein Teil, der mich verwirrt, und ich bin mir sicher, dass es daran liegt, dass ich noch nicht so viel Erfahrung damit hatte, Dinge wie diese aufzustellen. Schreib ich buchstäblich $ {basedir} oder ist das nur ein Platzhalter für ein Verzeichnis, das ich selbst hart code. Ich habe nicht viel Erfahrung mit Pfaden und Erstellen von Dateien und was nicht, so kommt es wahrscheinlich als Newb Frage :) – user1818298

+0

$ {baseDir} ist der Direktor Sie pom befindet sich in. Sie können es eingeben und maven wird aufgelöst es –

+0

Wenn Sie immer noch Probleme mit der Veröffentlichung Ihrer gesamten Pom kann weiter helfen bei der Bestimmung des Problems –

0

configure wie unten

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

allein Tool stehen können Sie den Pfad wie verändern unten

mvn surefire-report:report -DoutputDirectory=newpath 
+0

Hey, Arunakiran - was meinst du mit "Code hier eingeben" unterhalb des outputDirectory Tags? Sollte ich meinen eigenen Code in das Pom-Feld darunter einfügen oder was normalerweise dort hin geht? Vielen Dank! – user1818298

+0

es ist ein Tippfehler, ich habe den Beitrag bearbeitet –

Verwandte Themen