Dav*_*arr 9 java eclipse junit tycho maven
在过去使用JUnit和Mockito(以及PowerMock)编写运行在"常规" 版本中的单元测试时,我做了很多工作Maven.我现在正在开发一个Eclipse插件代码库,它使用Maven Tycho构建.
总的来说,它是一个多项目构建,但我只是将单元测试添加到其中一个插件项目(目前).
我听说过tycho-surefire,但这看起来很复杂,听起来更像是支持集成测试而不是单元测试.我猜我可能别无选择,只能使用它,但到目前为止我还没有尝试整合它.
我尝试从Maven获取JUnit和Mockito工件,然后使用它maven-dependency-plugin来获取可用于Bundle-Classpath清单属性中的工件.
当我运行的构建中,tycho-compiler-plugin我看到它编译105个源文件,其中包括所有的类src/main/java和src/test/java.它无法访问compile测试类,因为它无法找到Mockito类,即使我在运行构建时-X,它也会mockito-all在依赖关系树中显示工件.
我能在这做什么?
经过大量痛苦的 Maven 试验和错误后,我在这个网站上苦苦挣扎,它提供了一种在 Maven-Tycho 设置中使用单元测试的令人惊讶的简单方法。
这里是使用 JUnit 时的重要部分pom.xml(对于 Mockito 可能看起来类似):
<testSourceDirectory>src/test/java</testSourceDirectory>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<executions>
<execution>
<id>test</id>
<phase>test</phase>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<executions>
<execution>
<id>compiletests</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
以某种方式命名所有测试,使其以*Test.java. 运行mvn test以执行所有可用的单元测试。
| 归档时间: |
|
| 查看次数: |
1914 次 |
| 最近记录: |