用maven运行Fitnesse测试

时间:2018-03-07 09:44:10

标签: maven maven-3 junit4 fitnesse fitnesse-slim

我为我的Fitnesse测试用例创建了JUnit - 测试:

import org.junit.runner.RunWith;
import fitnesse.junit.FitNesseRunner;
@RunWith(FitNesseRunner.class)
@FitNesseRunner.Suite("mysuite")
@FitNesseRunner.FitnesseDir(".")
@FitNesseRunner.OutputDir("./target/fitnesse-results")
public class RunFitnesseTestMySuite {
}

现在我可以像Eclipse中的普通JUnit测试用例一样执行此测试。

然而,maven完全忽略了这个测试。我的所有其他JUnit都是由maven执行的,而不是这个特定的Fitnesse测试。

这对我来说很奇怪,因为@RunWith是一个普通的JUnit注释,所以我希望maven也可以运行这些测试。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可能尚未配置surefire以使用非默认名称运行测试。您的测试类与surefire的默认值不匹配,因此只有在将测试配置为显式运行时才会运行。来自surefire documentation

  

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

     
      
  • " ** /试验*的.java" - 包括其所有子目录和所有Java   以" Test"开头的文件名。
  •   
  • " ** / * Test.java" - 包括所有   它的子目录和所有以" Test"。
  • 结尾的Java文件名   
  • " ** / * Tests.java" - 包括其所有子目录和所有Java   以" Tests"。
  • 结尾的文件名   
  • " ** / * TestCase.java" - 包括所有   它的子目录和所有以" TestCase"结尾的Java文件名。
  •   
     

如果测试类不遵循任何这些命名约定,那么   配置Surefire插件并指定要包含的测试。

在你的情况下,我希望你想使用类似的东西:

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.21.0</version>
        <configuration>
          <includes>
            <include>**/*Suite.java</include>
          </includes>
        </configuration>
      </plugin>