2016-11-03 42 views
0

我正在使用spock框架和groovy進行測試。此外,我正在使用allure-spock-1.0-adapter生成Allure報告。報告看起來很好,但沒有顯示結果中的步驟。所有groovy方法都使用@Step進行註釋,但仍未登錄報告。 如何解決這個問題?Allure @Step註解不支持groovy/spock代碼

+0

歡迎堆棧溢出!請查看我們的[SO問題清單](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)來幫助你提出一個好問題,從而得到一個很好的答案。 –

回答

0

通過添加AspectJ和誘惑-的junit-適配器插入的pom.xml解決。現在@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

以前我只是做了常見問題解答,除了小部分 - 在pom.xml中爲allure-junit-adapter添加依賴關係!沒有它,它不會記錄步驟。因此,您必須將內聯spock-adapter的allure-junit-adapter以及與AspectJ相關的所有內容添加到您的pom.xml中,以便記錄您的步驟。感謝間接幫助) –