3

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

这个问题仍然没有答案。

4

2 回答 2

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**/*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>
于 2009-09-03T23:34:04.620 回答
0

要使用 JUnit 4.x,您至少需要使用 2.3 版的 surefire-plugin(有关详细信息,请参阅Codehaus Jira 上的SUREFIRE-31 )。请注意,现在通常认为对所有插件进行版本控制是一种好习惯(从 Maven 2.1 开始,通用插件现在在super POM中进行版本控制)。

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

于 2009-08-26T21:04:03.733 回答