Как да изпълнявам тестове в един клас с помощта на pom.xml?

Трябва да изпълнявам тестове в един клас. така че добавих следващия код към моя "pom.xml".

 <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>**/integration/**</exclude>
                </excludes>
            </configuration>
            <executions>
                <execution>
                    <id>integration-tests</id>
                    <phase>integration-test</phase>
                    <goals>
                        <goal>test</goal>
                    </goals>
                    <configuration>
                        <skip>${skipTests}</skip>
                        <excludes>
                            <exclude>**/integration/**</exclude>
                        </excludes>
                        <includes>
                            <include>**/integration/reports/**</include>
                        </includes>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

под папката за интеграция имам отделни папки. Така че трябва да изпълня тестовете, които са в папката с отчети. Докато изпълнявате тази команда "mvn clean -Dtest=ReportTest test".

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

Как да изпълня тестовете, трябва да променя командата pom или execute.


person Subbarao Gaddam    schedule 26.12.2013    source източник


Отговори (3)


За да изпълните тестов случай (тестов клас), използвайте командата maven (вижте Единичен тест на Maven)

mvn -Dtest=com.xxx.yyy.ReportTest test - използвайте пълно квалифицирано име вместо кратко име.

ако изпълнявате тази команда maven от Parent pom, която има две или повече зависимости (модули), също добавете също добавете аргумента -DfailIfNoTests=false, за да избегнете неуспешни тестове на други модули на зависимости.

person omega    schedule 26.12.2013

Опитайте да премахнете това от тестовата конфигурация:

<excludes>
    <exclude>**/integration/**</exclude>
</excludes>

Освен това, като използвате -Dtest=ReportTest, вие се опитвате да изпълните един тестов клас ReportTest.java, а не всички тестове в директорията /reports.

person arghtype    schedule 26.12.2013

Използвате простото име на класа, а не пълното име на класа. Така че, ако имате тест в "org.testype.test.TestDemo" и това е единственият тест, който искате да изпълните, вашият команден ред ще изглежда така:

mvn test -Dtest=TestDemo

Вижте връзката Maven няма да изпълнява тестове

person Pradeep Kr Kaushal    schedule 26.12.2013