Тест JUnit с Maven в плагине Jenkins

#java #eclipse #maven #junit #jenkins

#java #затмение #maven #junit #дженкинс

Вопрос:

У меня возникла проблема, когда я попытался запустить тесты JUnit с помощью Maven. Для плагина Jenkins я написал класс для тестирования. Например: у меня есть класс ConsoleParser в пакете com.jenkins_plugin в папке src/main/java. Тестовый пример JUnit находится ConsoleParserTest в пакете com.jenkins_plugin в папке src/test. Для запуска теста JUnit я добавил зависимость в pom:

 <dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version> 
        </dependency>
</dependencies>
 

И я запустил в cmd следующую команду: mvn -Dtest=ConsoleParserTest test

Проблема в том, что у меня возникла следующая ошибка:

 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.
12:test (default-test) on project swatt_jenkins: No tests were executed!  (Set -
DfailIfNoTests=false to ignore this error.) -> [Help 1]
 

Полный pom.xml является:

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <build>
        <finalName>Jenkins_Plugin</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>

            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>emma-maven-plugin</artifactId>
                <version>1.0-alpha-3</version>
                <inherited>true</inherited>
                <executions>
                    <execution>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>instrument</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <parent>
        <groupId>org.jenkins-ci.plugins</groupId>
        <artifactId>plugin</artifactId>
        <version>1.526</version>
    </parent>


    <groupId>Jenkins_Plugin</groupId>
    <version>1.0</version>
    <packaging>hpi</packaging>



    <repositories>
        <repository>
            <id>repo.jenkins-ci.org</id>
            <url>http://repo.jenkins-ci.org/public/</url>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>repo.jenkins-ci.org</id>
            <url>http://repo.jenkins-ci.org/public/</url>
        </pluginRepository>
    </pluginRepositories>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version> 
        </dependency>
    </dependencies>
</project>
 

Кроме того, я должен упомянуть, что с этими настройками я успешно провел тест, но после добавления findbugs он потерпел крах. Итак, я удалил findbugs и попытался запустить тест еще раз, но возникла проблема, о которой я упоминал. Итак, может кто-нибудь объяснить, что я должен сделать? Я попытался добавить другую версию JUnit, конечно, но у меня была та же проблема, и я не понимаю, почему.

Комментарии:

1. Не могли бы вы добавить код вашего тестового класса?

Ответ №1:

Несколько вещей:

  • добавьте классы JUnit, чтобы src/test/java не src/test
  • для вашего класса JUnit используйте область «test»

Например.:

 <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version> 
    <scope>test</scope>
</dependency>
 

Также я рекомендую управлять своими репозиториями в диспетчере репозиториев, таком как Nexus, а не в вашем POM:

http://books.sonatype.com/nexus-book/reference/maven-sect-single-group.html