0

前段时间,我在集成测试中使用 FitNesse 作为 test_system,在我的 pom 文件中我有这个:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>fit-maven-plugin</artifactId>
            <version>2.0-beta-3</version>
            <executions>
                <execution>
                    <configuration>
                        <sourceDirectory>src/main/fit</sourceDirectory>
                        <sourceIncludes>**/*Test.html</sourceIncludes>
                        <outputDirectory>target/fitTest</outputDirectory>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

现在我想做同样的想法,但使用 slim,但我找不到任何与 SLIM 等效的插件。

有谁知道如何使用“mvn integration-test”执行一些 Slim 测试?我看到有 Fitnesse-launcher-maven-plugin 但是有了这个我需要启动一个服务,我想要之前的东西,不需要使用端口和所有这些东西启动一个服务

4

2 回答 2

1

最简单的方法是在你的项目中添加一个 jUnit 测试,用 @RunWith("FitNesseRunner.class") 注释,并在你的 pom 文件中指出这个测试不是单元测试套件的一部分,并且是集成测试套件。

这实际上适用于 Slim 和 Fit 测试。并且还可以用于轻松调试夹具代码(只需从 IDE 调试单元测试)。

示例 Java 类:

@RunWith(FitNesseRunner.class)
@FitNesseRunner.Suite("FitNesse.SuiteAcceptanceTests.SuiteSlimTests.TestScriptTable")
@FitNesseRunner.FitnesseDir(".")
@FitNesseRunner.OutputDir("./target/fitnesse-results")
public class FixtureDebugTest {
}

示例 pom 内容提取:

            <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <excludes>
                    <!-- this test actually runs fitnesse tests
                         therefore it will only be executed for
                         integration-test goal
                    -->
                    <exclude>**/FixtureDebugTest.java</exclude>
                </excludes>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <!-- this test actually runs fitnesse tests-->
                <test>FixtureDebugTest</test>
            </configuration>
        </plugin>

在我自己的 FitNesse 项目中,我有一个 FitNesseRunner 的自定义子类,它需要对类进行较少的注释,并允许使用系统属性覆盖“运行套件”(我在构建服务器上使用它来在不同的作业中运行不同的套件,而无需需要多个 Java 类)。这是一部分:https ://github.com/fhoeben/hsac-fitnesse-fixtures

于 2015-10-16T15:09:14.427 回答
0

Fitnesse-launcher-maven-plugin 可以为您启动 Fitnesse,其默认端口为 9123,因此您可以在http://localhost:9123/上查看测试

该文档很容易理解,您可以进行以下配置:

      <plugin>
        <groupId>uk.co.javahelp.fitnesse</groupId>
        <artifactId>fitnesse-launcher-maven-plugin</artifactId>
        <configuration>
          <failIfNoTests>false</failIfNoTests>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>set-up</goal>
              <goal>run-tests</goal>
              <goal>tear-down</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
于 2015-10-25T15:29:12.250 回答