我正在开发一个在所有模块中广泛使用JUnit4的项目.我们正在使用Maven2来构建项目,并且Hudson可以持续集成.该项目是根据
Java 1.5构建和运行的.
我们最近添加了大量的单元测试,这些测试是有时需要的,但不希望在构建过程中运行(但在同一个项目中的其他单元测试).
我想知道是否有某种可以应用于测试的注释,还是可以对Maven进行一些配置,这些配置可能会忽略生成在某个包或某个测试类中的单元测试,
有可能只是把这些特定的测试放在一个普通的类中,这个类可以通过main来运行,但是这不是理想的.
感谢您的建议
解决方法
您可以配置
maven-surefire-plugin.
例如:
<project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.4.2</version> <configuration> <excludes> <exclude>**/TestCircle.java</exclude> <exclude>**/TestSquare.java</exclude> </excludes> </configuration> </plugin> </plugins>
编辑:
另一个解决方案是定义profiles,其中将运行所有测试.哈德森在开发模式下,您可以使用所有测试的子集来加快开发速度(或者所有测试都可能在默认配置文件中,选择在配置文件中进行测试),因此您需要使用-PprofileName属性运行maven.此示例更适合进行运行Loger的集成测试.