4

Maven (確実) を使用して Cucumber と Junit を一緒に使用しようとすると、レポートに間違った量のテストが含まれます。250 個のテストしかありませんが、Jenkins は 1200 個のテストを表示します。それで調べてみると、surefireプラグインの問題である参考文献しか見つかりませんでした。

https://github.com/cucumber/cucumber-jvm/issues/322

それを修正する方法は?

4

3 に答える 3

1

I could only create hack with surefire. if you like you can use:

  1. necessary to create the junit report by Cucumber to some folder (1) 'cucumber'
  2. copy surefire reports (excluding Cucmber report generated by surefire) to some folder (2) 'surefire-reports-fixed' where cucumber generated the report.
  3. copy cucumber junit-report from (1) to (2)
  4. jenkins has to use the folder (2) 'surefire-reports-fixed'

example changes in Maven:

 <plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>change-bad-cucumber-test-file</id>
                        <!-- here the phase you need -->
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/target/surefire-reports-fixed</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${basedir}/target/cucumber</directory>
                                </resource>
                                <resource>
                                    <directory>${basedir}/target/surefire-reports</directory>
                                    <excludes>
                                        <exclude>**/*CucumberTest.*</exclude>
                                    </excludes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

changes in CucumberTest.java:

@RunWith(Cucumber.class)
@Cucumber.Options(format = { "pretty", "junit:target/cucumber/TEST-packageHereToClass.CucumberTest.xml", "json:target/cucumber.json" })
public class CucumberTest {
 ...
}

in jenkins set surefire folder for tests to (2) 'surefire-reports-fixed'

于 2012-11-13T09:00:21.927 に答える
0

以下のリンクが該当すると思われます。

テストとしてカウントされるステップ定義の中心的な問題についての議論:

https://github.com/cucumber/cucumber-jvm/issues/577

コメントで、ステップをテストとしてカウントすることから、junit テストとしてシナリオをカウントするように変更するための修正が近日公開予定であるが、Gherkin 3 開発作業に関連していることを説明している別の問題:

https://github.com/cucumber/cucumber-jvm/issues/263

于 2014-02-26T19:49:28.230 に答える