4

私はテストスイートを書いており、問題を見つけました。私はキュウリを使用しており、複数の機能ファイルを定義しています。テストパックを実行すると、次の機能ファイルの実行が開始されるときに、1つの機能ファイルの進行状況(htmlレポートとjson形式)が上書きされます。キュウリは、新しいフィーチャーファイルが実行されたときに上書きされると報告します。

これらの機能ファイルを実行する複数のテストクラスが定義されています。私はすべての機能の実行のための単一のHTMLレポートを取得する方法を見つけることを試みている統合ビューを与える。 refのための

サンプルテストファイル:

@CucumberOptions(plugin = { "pretty", "html:target/report/html", 
"json:target/report/json/result.json" }) 
public class BaseFeature { 

} 

@RunWith(Cucumber.class) 
@CucumberOptions(features = "classpath:test/feature/rest/query.feature" 
, monochrome = true 
, glue={"a.b.c.rest"}) 
public class RunTest1 extends BaseFeature { 

} 

@RunWith(Cucumber.class) 
@CucumberOptions(features="classpath:test/feature/soap/book.feature" 
, monochrome = true 
, glue="a.b.c.soap") 
public class RunTest2 extends BaseFeature { 

} 

統合レポートを持っているために何ができるか知ってみましょう。

+1

あなたのクラスはすべてスイートですね。一度に1つのスイートに対してレポートを生成することができます。 –

+0

すべてを1つのスイートに統合し、中央レポートを取得しました。 –

+0

はい、それぞれのRunWithは別のスイートを意味します。したがって、レポートを生成するために一度に1人のランナーしか使用できません。 今後、同じ問題に直面している他の人のために、以下の回答をご記入ください。 –

答えて

3

少し遅れていますが、コミットされているので、ここで解決策を投稿しています。 Cucumberには、レポートを生成するために使用できるmavenプラグインがあります。

<groupId>net.masterthought</groupId> 
<artifactId>maven-cucumber-reporting</artifactId> 
<version>${maven-cucumber-reporting.version}</version> 

プラグインのバージョンは、現在、次のとおりです。3.3.0

このプラグインを使用すると、JSON形式で複数のテストレポートをバインドすることを可能にすること、いくつかの有用な設定パラメータを提供します。次のように

サンプルの実装は次のとおりです。

<plugins> ... 

    <plugin> 
    <groupId>net.masterthought</groupId> 
    <artifactId>maven-cucumber-reporting</artifactId> 
    <version>${maven-cucumber-reporting.version}</version> 
    <executions> 
     <execution> 
     <id>execution</id> 
     <phase>verify</phase> 
     <goals> 
      <goal>generate</goal> 
     </goals> 
     <configuration> 
      <projectName>test-report</projectName> 
      <outputDirectory>${project.build.directory}/bdd/report</outputDirectory> 
      <cucumberOutput>${project.build.directory}/report/json</cucumberOutput> 
      <parallelTesting>false</parallelTesting> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 

</plugins> 

設定を使用する:

cucumberOutputPath to where all the json reports are kept after the cucumber run OUTPUTDIRECTORYPath to where the html report will be generated

それだと楽しみを持っていること。

1

私が上記のコメントで言ったように、あなたのスイートを1にマージすると、1つのレポートが得られます。 各RunWithは1つのスイートを意味するので、基本的に1つのスイートを使用して1つのレポートを取得します。

+1

私はスイートに関する声明に同意します。しかし、それが同じものの中央の報告書を入手する唯一の方法であることに同意しないでください、私は今日このための答えで更新します。 –

+0

完了した回答が追加されました。 –

関連する問題