2017-07-13 6 views
1

私は自動テストにGauge frameworkを使用しています。Allureを使用してレポートを生成したいと思います。残念ながら、魅力はこれのためのアダプターを持っていません。 私のプロジェクトはいくつかのモジュールで構成され、それぞれに独自のpom.xmlがあります。ゲージフレームワークと魅力マルチモジュールプロジェクトの統合

メインのpom.xml(フラグメント):

<modules> 
     <module>libs/common</module> 
     <module>tests/panda-api</module> 
     <module>tests/dbus-api</module> 
    </modules>  
    <dependencies> 
     <dependency> 
      <groupId>com.thoughtworks.gauge</groupId> 
      <artifactId>gauge-java</artifactId> 
      <version>0.6.0</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.12</version> 
     </dependency> 
    </dependencies>  
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.3</version> 
       <configuration> 
        <encoding>UTF-8</encoding> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

サブモジュール(パンダ-API)のpom.xml:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <allure.version>1.5.0.RC2</allure.version> 
    <aspectj.version>1.8.5</aspectj.version> 
</properties> 
<dependencies> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-junit-adaptor</artifactId> 
     <version>${allure.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-bundle</artifactId> 
     <version>${allure.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-site-plugin</artifactId> 
     <version>3.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjweaver</artifactId> 
     <version>${aspectj.version}</version> 
    </dependency> 
</dependencies> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>com.thoughtworks.gauge.maven</groupId> 
      <artifactId>gauge-maven-plugin</artifactId> 
      <version>1.1.0</version> 
      <executions> 
       <execution> 
        <phase>test</phase> 
        <configuration> 
         <specsDir>specs</specsDir> 
        </configuration> 
        <goals> 
         <goal>execute</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.19</version> 
      <configuration> 
       <testFailureIgnore>false</testFailureIgnore> 
       <argLine> 
        -Xmx1600m -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" 
       </argLine> 
       <properties> 
        <property> 
         <name>listener</name> 
         <value>ru.yandex.qatools.allure.junit.AllureRunListener</value> 
        </property> 
       </properties> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.aspectj</groupId> 
        <artifactId>aspectjweaver</artifactId> 
        <version>${aspectj.version}</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
     <plugin> 
      <groupId>io.qameta.allure</groupId> 
      <artifactId>allure-maven</artifactId> 
      <version>2.8</version> 
      <configuration> 
       <inputDirectories>${project.basedir}/reports/xml-report</inputDirectories> 
       <resultsDirectory>allure-results</resultsDirectory> 
       <reportDirectory>allure-report</reportDirectory> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>9.2.10.v20150310</version> 
      <configuration> 
       <webAppSourceDirectory>${project.build.directory}/site/allure-maven-plugin</webAppSourceDirectory> 
       <stopKey>stop</stopKey> 
       <stopPort>1234</stopPort> 
       <httpConnector> 
        <port>8090</port> 
       </httpConnector> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
<reporting> 
    <excludeDefaults>true</excludeDefaults> 
    <plugins> 
     <plugin> 
      <groupId>io.qameta.allure</groupId> 
      <artifactId>allure-maven</artifactId> 
      <version>2.8</version> 
      <configuration> 
       <resultsDirectory>allure-results</resultsDirectory> 
       <reportDirectory>allure-report</reportDirectory> 
      </configuration> 
     </plugin> 
    </plugins> 
</reporting> 

私はプロジェクトのルートディレクトリから次のコマンドを実行します。

$ mvn clean compile test-compile 
$ mvn install -f libs/common/pom.xml 
$ mvn gauge:execute -f tests/panda-api/pom.xml -Denv=test -DspecsDir=specs 

ゲージは、JUnit XMLスキーマ形式で 'reports/xml-report/result.xml'に独自のXMLレポートを生成します。魅力の結果が生成されないため、魅力は空のレポートを '魅力のレポート'に生成します。 Gauge xml-resultに基づいて魅力レポートを生成するには?

答えて

0

Allureは、TEST-*.xml glob(関連する問題https://github.com/allure-framework/allure2/issues/542)と一致する名前のJUnit XMLファイルのみを受け入れます。問題を解決するには、ファイル名をTEST-results.xmlに変更してください。