2016-11-03 3 views
0

私はテストのためにspockフレームワークとgroovyを使用しています。また、私は魅力的なレポートを生成するために魅力的なスポーク1.0アダプターを使用しています。レポートは正常に見えますが、結果にステップが表示されません。 Groovyのすべてのメソッドには@Stepというアノテーションが付けられていますが、まだレポートには記録されていません。 これを修正するには?Allure @Stepアノテーションはgroovy/spockコードでは機能しません

+0

は、スタックオーバーフローへようこそ!良い質問をするのを助けるために私たちの[SO Question Checklist](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)をよく読んで、良い答えを得てください。 –

答えて

0

pom.xmlにAspectJとallure-junit-adapterを追加して解決しました。 @Stepはspockテストで正しく処理されます。

のpom.xmlの例を参照してください:

<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>allure.spock.demo</groupId> 
<artifactId>allure-spock</artifactId> 
<version>0.0.1-SNAPSHOT</version> 

<properties> 
    <allure.version>1.4.23.HOTFIX1</allure.version> 
    <aspectj.version>1.8.9</aspectj.version> 
    <compiler.version>1.7</compiler.version> 
</properties> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.gmavenplus</groupId> 
      <artifactId>gmavenplus-plugin</artifactId> 
      <version>1.5</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>compile</goal> 
         <goal>testCompile</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.19.1</version> 
      <configuration> 
       <argLine> 
        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" 
       </argLine> 
       <includes> 
        <include>**/*Spec.*</include> 
       </includes> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.aspectj</groupId> 
        <artifactId>aspectjweaver</artifactId> 
        <version>${aspectj.version}</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
    </plugins> 
</build> 
<dependencies> 
    <dependency> 
     <groupId>org.spockframework</groupId> 
     <artifactId>spock-core</artifactId> 
     <version>1.1-groovy-2.4-rc-3</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-junit-adaptor</artifactId> 
     <version>${allure.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.codehaus.groovy</groupId> 
     <artifactId>groovy-all</artifactId> 
     <version>2.4.6</version> 
    </dependency> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-spock-1.0-adaptor</artifactId> 
     <version>1.0</version> 
    </dependency> 
</dependencies> 

<reporting> 
    <excludeDefaults>true</excludeDefaults> 
    <plugins> 
     <plugin> 
      <groupId>ru.yandex.qatools.allure</groupId> 
      <artifactId>allure-maven-plugin</artifactId> 
     </plugin> 
    </plugins> 
</reporting> 

0

チェックFAQ。私はあなたがjavaagentを追加する必要があると思います。 AspectJは、ステップ、添付ファイル、およびパラメータを処理するために使用されます。

+0

以前は、FAQにあるものを正確に行いましたが、pom.xmlにあるallure-junit-adapterの依存関係を小さな部分で追加しました!それがなければステップを記録しません。したがって、spock-adapterとallure-junit-adapterをインラインで追加し、AspectJに関連するすべてのものをpom.xmlに追加して、ステップを記録する必要があります。間接的な助けをありがとう) –

関連する問題