刚出现一个奇怪的错误。使用JUnit和Maven 3.0.3处理项目我在test / src / java文件夹中创建了一个测试类 - ClassifierUtilTest.java
,带有@Test
- 带注释的方法和东西,以及两个实用程序类,用于测试env(一个用于绕过私有可见范围的静态方法很少,一个用于测试接口的模拟)。
它在Maven 3.0.3(mvn test
)和Eclipse 3.7(运行/ JUnit测试)中运行良好,但是当其他人尝试使用Maven 2.2.1“mvn test
”它时它失败了。显然它试图将这些util类视为测试类,并且由于'no @Test
- 带注释的方法'和'多个构造函数'而失败。
这不是JUnit错误(至少它不应该是,maven依赖是相同的,junit:junit:4.9
),所以它似乎是严格的maven或maven-surefire-plugin
错误。我想知道Maven 2.2.1是否存在一些广为人知的解决方法?
答案 0 :(得分:12)
maven-surefire-plugin
会运行所有具有Test
前缀或后缀(如您的ClassifierUtilTest
)和TestCase
后缀的类。只需将名称更改为ClassifierTestUtil
即可。
您还可以在pom.xml
中排除某些文件/目录,请参阅Inclusions and Exclusions of Tests:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<configuration>
<excludes>
<exclude>**/ClassifierUtilTest.java</exclude>
</excludes>
</configuration>
</plugin>