#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