fitnesse使用一

最近项目组老大告诉我fitnesse是个不错的项目沟通工具,兼自动化测试工具,所以学习之。

一、安装

1、去官网下个jar包,www.fitnesse.org,我下载的是fitnesse-standalone.jar,将该jar包放到一个空白文件夹当中,打开命令窗口,执行命令java -jar fitnesse-standalone.jar或者java -jar fitnesse-standalone.jar -p 8001,后者是指定端口的,防止默认的80端口被占用后没法打开fitnesse。

2、打开浏览器,输入:http://localhost或者http://localhost:8001即可看到初始界面。

PS:fitnesse是java写的,所以用之前,请确保java环境变量已经设置好。


二、使用

1、在初始界面里面,可以看到右上方有3个按钮,大家可以多点击点击。点击edit按钮,在该页面最下面一行加上MyNewPage,保存后返回当前页面。点击MyNewPage,可以在该页面进行操作,我选择了添加,点击add按钮,选择test page ,进入新页面的编辑页面,命名规则的wiki word,简而言之,就是两个以上单词组成的联合词,每个单词首字母大写,且每个单词不得少于两个字母,如FirstTest。在页面上随便写点东西都可以。

2、编写程序。

package fitnesse.slim.test;

import java.util.List;

public class ShouldIBuyMilk {
    private int dollars;
    private int pints;
    private boolean creditCard;

    public void setCaseInWallet(int dollars) {
        this.dollars = dollars;
    }

    public void setPintsOfMilkRemaining(int pints) {
        this.pints = pints;
    }

    public void setCreditCard(String valid) {
        if (valid == "yes")
            creditCard = true;
        else
            creditCard = false;
    }

    public String goToStore() {
        if (pints == 0 && (dollars > 2 || creditCard))
            return "yes";
        else
            return "no";
    }

    public void execute() {
    }

    public void reset() {
    }

    public void table(List<List<String>> table) {
    }

}
编写好程序后,我们可以返回之前的fitnesse页面了,找到FirstTest页面,点击edit,在页面中添加下面一段内容:

!define TEST_SYSTEM {slim}

!path D:/fitnesse/fitnesse-standalone.jar
!path D:/workspace-sts/test/bin/fitnesse/slim/test

!|import           |
|fitnesse.slim.test           |

!|fitnesse.slim.test.ShouldIBuyMilk          |
|cash in wallet|credit card|pints of milk remaining|go to store?|
|10       |no          |1     |no|
|12     |yes          |1      |no|
|100      |no          |0     |yes|

解释下:

第一行:使用FitNesse的slim模块,也就是使用网页的形式描述测试用例

第二行:jar包所在的路径(这里要说明下,我看到网上很多例子是没有这一行的,但是我使用的时候发现,没有这一行会报错:java.lang.NoClassDefFoundError: fitnesse/slim/SlimService,可能是路径的问题吧,我是把fitnesse和我java程序所在的地方分开放的)

第三行:测试类**.class所在的路径

第六行:测试类的名称,fitnesse.slim.test package下的ShouldIBuyMilk这个类

表头:cash in wallet, credit card,pints of milk remaining对应类中的setNumerator(), setCreditCard(),setPintsOfMilkRemaining()这三个方法,go to store对应String goToStore()()这个方法,注意go to store后面有个问号,说明这个方法是有返回值的。


点击save按钮,返回该页面,点击test,可以看到测试页面。

到这里你也许猜出了这个测试工具的工作原理了吧,Slim根据网页中的classpath去调用测试类,将测试用例的输入给测试类中对应的set方法,然后slim将程序中对应方法的实际输出跟测试用例的期望输出相比较,如果相同,则测试用例通过。那如何将HTML中表单的值正确解析并输入到程序中呢,注意到程序中的import跟extend,这就告诉测试类该如何处理获得的表单数据。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页