Maven 2似乎没有考虑我的@Test和@Ignore注释。如何配置surefire插件以运行和使用注释?
这个问题仍未得到解答。
答案 0 :(得分:3)
我首先将您的主POM配置为将surefire插件默认为最新版本。这是通过向POM的插件管理部分添加条目来完成的。例如:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.3</version>
</plugin>
</plugins>
</pluginManagement>
现在,所有子POM都将配置此版本的插件,该插件支持JUnit 4.x注释。
如果这不起作用,那么我会确保你的JUnit测试文件与surefire插件所期望的命名模式匹配,默认情况下是:**/Test*.java
,**/*Test.java
和{ {1}}。我喜欢命名我的JUnit类,如**/*TestCase.java
,所以我像这样调整插件:
*Tests.java
答案 1 :(得分:0)
要使用JUnit 4.x,您需要至少使用surefire-plugin的2.3版本(有关详细信息,请参阅Codehaus Jira上的SUREFIRE-31)。请注意,现在通常认为对所有插件进行版本化是一种好习惯(从Maven 2.1开始,常见的插件现在在super POM中进行了版本化)。
如果测试失败并且您使用的是2.3+的surefire插件,是否可以使用您正在使用的POM配置更新您的问题?