为Maven fitnesse插件编写测试

时间:2015-10-25 15:54:52

标签: java fitnesse fitnesse-slim

我刚从uk.co.javahelp.fitnesse安装了fitnesse-launcher-maven-plugin,我发现它运行正常。

现在我想编写一些测试,并在构建过程中看到并执行它们。

我的pom.xml文件包含以下插件:

  <profiles>
    <profile>
      <id>wiki</id>
      <build>
        <plugins>
          <plugin>
            <groupId>uk.co.javahelp.fitnesse</groupId>
            <artifactId>fitnesse-launcher-maven-plugin</artifactId>
            <version>1.4.2</version>
            <executions>
              <execution>
                <goals>
                  <goal>set-up</goal>
                  <goal>wiki</goal>
                  <goal>tear-down</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>auto</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <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>
        </plugins>
      </build>
    </profile>
  </profiles>

点击

上的插件网站文档
http://fitnesse-launcher-maven-plugin.googlecode.com

我还创建了以下目录并清空(现在)文件:

stephane@stephane-ThinkPad-X301:toolbox> tree src/test/java/fitnesse/
src/test/java/fitnesse/
├── FirstTestSuite
│   ├── content.txt
│   ├── NestedSuite
│   │   ├── AnIndividualTest
│   │   │   ├── content.txt
│   │   │   └── properties.xml
│   │   ├── content.txt
│   │   └── properties.xml
│   ├── properties.xml
│   └── Setup
│       ├── content.txt
│       └── properties.xml
└── plugins.properties

如果运行命令:

mvn verify -P wiki

然后我可以看到

http://localhost:9123/

一些默认的Fitnesse测试不是我的。

另一方面,如果我执行命令:

mvn verify

然后没有要执行的测试:

[INFO] Executed tasks
[INFO] 
[INFO] --- fitnesse-launcher-maven-plugin:1.4.2:run-tests (default) @ toolbox ---
[INFO] ------------------------------------------------------------------------
[INFO] Setting FitNesse variable [maven.classpath] to [
!path /home/stephane/dev/java/projects/toolbox/target/test-classes
!path /home/stephane/dev/java/projects/toolbox/target/classes
!path /home/stephane/.m2/repository/org/fitnesse/fitnesse/20140201/fitnesse-20140201.jar
!path /home/stephane/.m2/repository/org/htmlparser/htmlparser/2.1/htmlparser-2.1.jar
!path /home/stephane/.m2/repository/org/htmlparser/htmllexer/2.1/htmllexer-2.1.jar
!path /home/stephane/.m2/repository/org/apache/velocity/velocity/1.7/velocity-1.7.jar
!path /home/stephane/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
!path /home/stephane/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar
!path /home/stephane/.m2/repository/org/json/json/20090211/json-20090211.jar
!path /home/stephane/.m2/repository/com/googlecode/java-diff-utils/diffutils/1.2.1/diffutils-1.2.1.jar
!path /home/stephane/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/2.3.1.201302201838-r/org.eclipse.jgit-2.3.1.201302201838-r.jar
!path /home/stephane/.m2/repository/com/jcraft/jsch/0.1.46/jsch-0.1.46.jar
]
[INFO] Setting FitNesse variable [org.springframework.version] to [4.2.0.RELEASE]
[INFO] Setting FitNesse variable [java.version] to [1.8.0_60]
[INFO] Setting FitNesse variable [org.springframework.security.version] to [3.2.5.RELEASE]
[INFO] Setting FitNesse variable [project.build.sourceEncoding] to [UTF-8]
[INFO] Setting FitNesse variable [artifact] to [toolbox]
[INFO] Setting FitNesse variable [version] to [0.0.1-SNAPSHOT]
[INFO] Setting FitNesse variable [basedir] to [/home/stephane/dev/java/projects/toolbox]
[INFO] ------------------------------------------------------------------------
[WARNING] No FitNesse Suites or Tests to run! (Set -Dfitnesse.fitnesse.failIfNoTests=false to ignore.)
[INFO] 0 right, 0 wrong, 0 ignored, 0 exceptions
[INFO] 
[INFO] --- fitnesse-launcher-maven-plugin:1.4.2:tear-down (default) @ toolbox ---
[INFO] 
[INFO] --- fitnesse-launcher-maven-plugin:1.4.2:verify (default) @ toolbox ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.061 s
[INFO] Finished at: 2015-10-26T10:25:17+01:00
[INFO] Final Memory: 19M/205M
[INFO] ------------------------------------------------------------------------
stephane@stephane-ThinkPad-X301:toolbox>

我想用Slim fixture编写一个非常简单的Java测试,比如检查我的业务逻辑添加(2,2)方法返回4.

我应该在哪个文件中进行维基测试? 我应该在哪个文件夹具? 如何告诉Fitnesse执行我的测试?

更新:我的示例夹具是:

public class ExampleFixture {

    private String value;
    private String result;

    public ExampleFixture() {
    }

    public void execute() {
        if (value != null) {
            result = Common.trimSpaces(value);
        }
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getResult() {
        return result;
    }

}

及其内容:

|Example fixture|
|value|result?|
|some space|somespace|

最后一个问题,关于结果[0]未找到的问题,是由于我的getter读取结果而不是夹具内容中的getResult,现在读取:     |示例夹具|     |值|的getResult?|     | some space | somespace |

1 个答案:

答案 0 :(得分:2)

您已将fitnesse代码放在src/test/java/fitnesse/

默认位置实际为:src/test/fitnesse/(删除java

或者,在pom.xml中,配置您要使用的目录:

<testResourceDirectory>src/test/fitnesse</testResourceDirectory>

请参阅Plugin Configuration文档。

更新

由于googlecode已经退役,因此归档网站会为某些链接返回404。有一天我可能会解决这个问题。同时,该项目可在Github上获得。如果您运行maven site并使用浏览器访问创建的HTML,那么文档应该都已完成。