краставица и junit имат грешен брой тестове в jenkins (сигурен)

Когато се опитам да използвам Cucumber и Junit заедно чрез Maven (сигурен), тогава отчетът има грешен брой тестове. Имам само 250 теста, но Дженкинс ми показва 1200 теста. Така че, когато го проучих, успях да намеря само препратка, която е проблемът на плъгина surefire.

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

Как да го коригираме?


person kadkaz    schedule 12.11.2012    source източник


Отговори (3)


Можех да създам хак само със surefire. ако желаете можете да използвате:

  1. необходимо за създаване на отчет junit от Cucumber в някаква папка (1) 'cucumber'
  2. копирайте отчети за сигурни атаки (с изключение на отчета за краставици, генериран от заверени) в някоя папка (2) „поправени отчети за сигурност“, където краставицата е генерирала доклада.
  3. копиране на краставичен junit-report от (1) до (2)
  4. jenkins трябва да използва папката (2) 'surefire-reports-fixed'

примерни промени в 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>

промени в CucumberTest.java:

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

в jenkins задайте папка surefire за тестове на (2) 'surefire-reports-fixed'

person kadkaz    schedule 13.11.2012

Следните връзки изглеждат подходящи.

Обсъждане на основния проблем с дефинициите на стъпки, считани за тестове:

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

Отделен проблем, който в коментарите обсъжда, че корекцията за промяна от преброяване на стъпки като тестове към преброяване на сценарии като junit тестове ще бъде предстояща, но е свързана с усилията за разработка на Gherkin 3:

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

person Josh Harness    schedule 26.02.2014
comment
Можех да разбера, че никой не го интересува. и за мен работи с помощта на maven-surefire-plugin за версия 2.12 без никакви промени в работния процес, описан по-горе, но се появява в новата версия на плъгина surefire (2.18.1 отново не работи). - person kadkaz; 14.01.2015
comment
maven-surefire-plugin за 2.12 работи само с junit паралелно. 2.18.1 работи с testng без проблем. - person kadkaz; 20.01.2015

Следното сработи за мен - добавих формата за отчитане на cucumber-junit в @cucumbeOptions, т.е. - "junit:target/surefire-reports/TEST-TestSuite.xml" и след това, когато стартирах това в eclipse( Също във VSO), отчетите на Junit бяха генерирани във файла TEST-TestSuite.xml с правилен брой.

Кодът по-долу-->

    @CucumberOptions(
                features= {"src/test/resources/Features"},
                plugin   = {"pretty:STDOUT","html:Reports/cucumber-pretty","junit:target/surefire-reports/TEST-TestSuite.xml",               "com.cucumber.listener.ExtentCucumberFormatter:Reports/Reporting/Quixxi_Report.html"},
                monochrome = true,
                dryRun=false
           )
person S S    schedule 28.03.2019