у огурца и юнита неправильное количество тестов в Дженкинсе (уверенно)

Когда я пытаюсь использовать Cucumber и Junit вместе через Maven (уверенно), в отчете отображается неверное количество тестов. У меня всего 250 тестов, но Дженкинс показывает мне 1200 тестов. Поэтому, когда я исследовал это, я смог найти только ссылку, которая является проблемой надёжного плагина.

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

Как это исправить?


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


Ответы (3)


Я мог только создать хакерство с уверенностью. если хотите, можете использовать:

  1. необходимо создать отчет junit по Cucumber в какую-то папку (1) 'огурец'
  2. скопируйте отчеты surefire (за исключением отчета Cucmber, сгенерированного surefire) в какую-нибудь папку (2) 'surefire-reports-fixed', где огурец сгенерировал отчет.
  3. скопировать cucumber junit-report из (1) в (2)
  4. Дженкинс должен использовать папку (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