运行 使用 maven 进行 Fitnesse 测试
Running Fitnesse Tests with maven
我为我的 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 也能 运行 这些测试。
有什么想法吗?
您可能没有将 surefire 配置为 运行 名称为 non-default 的测试。您的测试 class 与 surefire 的默认值不匹配,因此如果您将测试显式配置为 运行,则只会是 运行。来自 surefire documentation:
By default, the Surefire Plugin will automatically include all test
classes with the following wildcard patterns:
- "**/Test*.java" - includes all of its subdirectories and all Java
filenames that start with "Test".
- "**/*Test.java" - includes all of
its subdirectories and all Java filenames that end with "Test".
- "**/*Tests.java" - includes all of its subdirectories and all Java
filenames that end with "Tests".
- "**/*TestCase.java" - includes all of
its subdirectories and all Java filenames that end with "TestCase".
If the test classes do not follow any of these naming conventions, then
configure Surefire Plugin and specify the tests you want to include.
在你的情况下,我希望你想使用类似的东西:
<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>
我为我的 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 也能 运行 这些测试。
有什么想法吗?
您可能没有将 surefire 配置为 运行 名称为 non-default 的测试。您的测试 class 与 surefire 的默认值不匹配,因此如果您将测试显式配置为 运行,则只会是 运行。来自 surefire documentation:
By default, the Surefire Plugin will automatically include all test classes with the following wildcard patterns:
- "**/Test*.java" - includes all of its subdirectories and all Java filenames that start with "Test".
- "**/*Test.java" - includes all of its subdirectories and all Java filenames that end with "Test".
- "**/*Tests.java" - includes all of its subdirectories and all Java filenames that end with "Tests".
- "**/*TestCase.java" - includes all of its subdirectories and all Java filenames that end with "TestCase".
If the test classes do not follow any of these naming conventions, then configure Surefire Plugin and specify the tests you want to include.
在你的情况下,我希望你想使用类似的东西:
<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>