不知道是不是我理解错了。我试图让自动单元测试在我的项目中工作。
我制作了一个 Eclipse 插件项目并将其转换为一个 Maven 项目。我做了一个 JUnit 测试用例类来测试项目中唯一的类。我以 Maven 方式放置每个代码(即 src/main/java 主代码和 src/test/java 测试代码)。
我将测试类放在 src/test/java 的一个名为 pluginmaventest.actions 的包中。
如果在 Eclipse 中作为 JUnit 测试启动,测试用例会自动失败。
我在 SVN 存储库中共享了该项目并做了一份 Jenkins 工作(Maven 2/3 项目)。我将 JUnit 依赖项添加到 pom.xml 和所有必要的 tycho 依赖项。
项目构建成功。它不应该因为我的 JUnit 测试失败而失败吗?
我试过
mvn clean install
和
mvn test
作为目标。我什至尝试使用-Dtest=SomeClassTest
. 构建永远不会失败。
这显然意味着单元测试既不编译也不执行,不是吗?
我只是想掌握 Jenkins、Sonar 和单元测试。我目前的目标是让单元测试与 Jenkins 一起运行,然后尝试让代码分析和测试覆盖率与集成到 Jenkins 中的 Sonar 一起运行。网络上是否有全面且易于理解的教程或操作方法?
附录:
- 我的 Jenkins 安装可能会产生失败的构建,所以这不应该是问题。
- 我的测试类真正命名为 SomeClassTest。哦,oers 已经编辑过了。
- 测试目标的本地 Maven 调用也不会产生任何结果。
这是我的整个项目 pom.xml。(没有surefire maven也没有产生任何输出)
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test.maven.plugin</groupId>
<artifactId>pluginmaventest</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>Bla</name>
<packaging>eclipse-plugin</packaging>
<properties>
<tycho-version>0.13.0</tycho-version>
</properties>
<repositories>
<repository>
<id>indigo</id>
<layout>p2</layout>
<url>http://download.eclipse.org/releases/indigo/</url>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<type>maven-plugin</type>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<resolver>p2</resolver>
<environments>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
</environments>
</configuration>
</plugin>
</plugins>