Как получить правильное значение повторения и имя пакета в XML-отчете maven-surefire-plugin для тестовых случаев аннотации @RepeatedTest в junit - PullRequest
0 голосов
/ 26 сентября 2019

Я создал несколько тестовых случаев JUnit согласно приведенной ниже иерархии.

Имя пакета, например:

test.qa.paramter.myTest

В этом пакете у меня есть 2 тестовых случая:

1: первый контрольный пример (с именем класса NormalTest и именем метода как caseNormalTest) с аннотацией @Test

2: и второй контрольный пример (с именем класса RepeatTest и именем метода как caseRepeatTest) с@RepeatedTest, который будет повторять один и тот же тест 2 раза с разными входными значениями.

Мой вопрос заключается в том, как я могу получить один и тот же вывод имени класса xml для @RepeatedTest, поскольку он не отображает полное имя пакета.Также возможно ли получить количество повторений в отчете о достоверности?

Теперь, когда я запускаю контрольный пример с использованием Jenkins, maven-surefire-plugin генерирует XML-результат теста для @ RepeatedTest

<testcase name="caseRepeatTest" classname="caseRepeatTest()" time="30.636"/>
<testcase name="caseParametrization" classname="caseParametrization()" time="13.013"/>

, тогда как для аннотации @Test я получаю

<testcase name="caseNormalTest" classname="test.qa.paramter.myTest.NormalTest" time="22.796"/>

ниже, это моя настройка POM

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <forkCount>1</forkCount>
        <reuseForks>false</reuseForks>
        <argLine>-Xms512m -Xmx2048m</argLine>
        <testFailureIgnore>true</testFailureIgnore>
        <systemPropertyVariables>
         <sun.net.http.allowRestrictedHeaders>true</sun.net.http.allowRestrictedHeaders>
            <testInstance>v1</testInstance>
        </systemPropertyVariables>
        <includes>
            <include></include>
        </includes>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-surefire-provider</artifactId>
            <version>1.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.3.2</version>
        </dependency>
    </dependencies>
</plugin>

1 Ответ

0 голосов
/ 27 сентября 2019

Обновитесь до Maven Surefire 2.22.0 или выше и удалите зависимость от устаревшего junit-platform-surefire-provider.

Подробности здесь: https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...