2009-08-26 42 views
3

Maven 2似乎没有考虑我的@Test和@Ignore注释。如何配置surefire插件运行并使用注释?如何配置maven 2的surefire插件来运行Junit 4.5?

这个问题还没有回答。

+0

什么版本的万无一失插件您使用的是? – sal 2009-08-26 19:52:00

+0

也肯定会尝试运行名为testXXXX()的类? – sal 2009-08-26 20:00:44

回答

3

我会先配置您的主POM,以将默认插件默认为最新版本。这是通过向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测试文件的命名模式(S)的万无一失插件预计,在默认情况下是匹配:**/Test*.java**/*Test.java**/*TestCase.java。我喜欢我的命名JUnit类像*Tests.java,所以我调整了插件,像这样:

<pluginManagement> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.4.3</version> 
     <configuration> 
      <includes> 
       <include>**/*Test*.java</include> 
      </includes> 
     </configuration> 
     </plugin> 
    </plugins> 
</pluginManagement> 
+0

添加2.4.3不起作用 – gregm 2010-01-13 21:26:35

+0

如何在Maven中从pom.xml调用testng.xml? – 2012-12-04 10:07:12

+0

我看到您将其添加到pluginManagement中,但不会将其添加到部分。那是因为maven自动包含surefire插件吗? – 2015-11-07 23:07:30

0

要使用JUnit 4.x,您至少需要使用surefire插件的2.3版本(有关详细信息,请参阅Codehaus Jira上的SUREFIRE-31)。请注意,现在通常认为所有插件版本都是很好的做法(从Maven 2.1开始,现在通用插件已在super POM中进行了版本化)。

如果测试失败并且您正在使用2.3+的surefire插件,那么您是否可以使用您正在使用的POM配置更新您的问题?

相关问题