忽略Maven / Scala单元测试文件

时间:2010-11-24 14:26:28

标签: unit-testing maven-2 scala ignore

我正在使用Scala(JUnit 4)编写Java项目的单元测试用例。我正在使用Maven运行测试。

我为测试编写了一个src/test/scala/com.xxx.BaseTest类,以提供一些常用功能(@BeforeClass等),但没有实际的@Test个案例。

每当我在命令行上使用mvn运行测试时,它都会坚持尝试在BaseTest类中查找测试,并因为没有错误而出错。

除了使用@Ignore之外,有没有办法让Maven / Scala / Surefire不尝试运行BaseTest类?添加@Ignore并不是什么大问题,但我的测试运行显示的测试比我实际使用的标签“Skipped:1”还要多。

更新:我找到了解决方案。我将BaseTest重命名为Base; Maven现在忽略了它。还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

您可以重命名基础测试类,不要让*测试结束,例如BaseTestCase.java。这就是我的建议。

maven最有可能使用surefire plugin执行测试,因此您只需配置surefire插件即可跳过BaseTest.java。我认为,默认情况下,surefire假定所有以*Test结尾的类都是测试类。在pom.xml

中有类似的内容
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <excludes>
            <exclude>**/BaseTest.java</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>