Как выполнить тесты JUnit и TestNG в одном проекте, используя maven-surefire-plugin? - PullRequest
37 голосов
/ 05 августа 2009

Сейчас у меня есть оба типа тестов, но когда я говорю "mvn test", он выполняет только тесты TestNG, а не Junit. Я хочу выполнить оба по порядку. Любая идея?

Ответы [ 12 ]

0 голосов
/ 08 мая 2014
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.0</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>
        <!-- ********* Skip Test for Success BUILD ******** -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.10</version>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
        <!-- *********************************************** -->
    </plugins>
</build>

<profiles>
    <!-- ********** Profiles for run test cases ************ -->
    <!-- Profile for run JUnit test dependent tests -->
    <profile>
        <id>junit-tests</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.10</version>
                    <configuration>
                        <skip>false</skip>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-junit47</artifactId>
                            <version>2.10</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    </profile>

    <!-- Profile for run TestNG dependent tests -->
    <profile>
        <id>testNG-tests</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.10</version>
                    <configuration>
                        <skip>false</skip>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

    <!-- ***************************************************** -->
</profiles>

Чем просто запустить: mvn test -Pjunit-tests (для запуска теста на основе junit) или mvn test -PtestNG-tests (для теста TestNG на основе).

0 голосов
/ 12 февраля 2014

Если вы просто укажете провайдера testng, он будет запускать тесты junit и testng только один раз.
таким образом, нет никаких ограничений по именованию тестов.

версии плагинов:
Верный плагин 2.16 (для junit47 и testng провайдеров установлена ​​версия 2.16)
тестирование зависимости 6.8.7
зависимость от junit 4.7

...