0

我正在将项目从 Ant 切换到 Maven。我在正确的位置进行了单元测试,但无论出于何种原因,maven surefire 插件只能看到大约 136 个(总共 1136 个)测试。

在使用 Ant 时,我们使用了较旧的测试套件技术:

public class GatherTests{
  public static Test suite(){
    ... add tests ...
    return testSuite;
  }
}

作为我们的跑步者。我无法确定如何使用 Surefire 使其工作。我将 junit 3.8.1 与 Maven 2.0 一起使用。有谁知道这是否可能?我试过的一件事是:

-Dtest=GatherTests

没有运气。我们的许多测试存在于不会立即从 junit.framework.TestCase 继承的类中,因此这可能是surefire无法收集它们的原因。我现在将查看日志,看看它缺少什么。

谢谢蒂姆

4

1 回答 1

0

当然,我在发布后不久就想通了。

Maven Surefire 插件页面

上面写着:

默认情况下,Surefire 插件会自动包含所有具有以下通配符模式的测试类:

  • “* /Test .java” - 包括其所有子目录和所有以“Test”开头的 java 文件名。
  • “**/*Test.java” - 包括其所有子目录和所有以“Test”结尾的 java 文件名。
  • “**/*TestCase.java” - 包括其所有子目录和所有以“TestCase”结尾的 java 文件名。

未运行的测试与模式 **/*Tests.java 匹配。我添加了一个包含规则,它们现在都在运行。

于 2010-11-17T16:50:59.377 回答