zoukankan      html  css  js  c++  java
  • Fitnesse之框架介绍(二)

    本篇将重点介绍Fitnesse测试引擎slim, slim是(simple list Invocation method)的缩写,使用来代替的fit的测试引擎,不同于fit的是,slim将html的解析,比较以及颜色的改变都放在了fitnesse上面去完成,而不是像fit一样放在被测系统这一端去完成,slim是一个自定义的协议,是一个准RPC协议,通过此协议fitnesse可以驱动被测系统的方法。


    其中核心的包是fitnesse.slim此包为slim协议的核心,fitnesse.slim.converters此包为slim中变量参数转换器以及fitnesse.slimTables此包为slim中表格类型。
    如果我们要使用slim作为测试引擎,那么必须在wiki页面上定义测试类型
    !define TEST_SYSTEM {slim}
    slim本身总共包括10种表格类型,首先介绍decision table:
    我们经常使用decision table作为一个真假表

    该测试用例对应的测试代码如下所示:
    public class ShouldIBuyMilk {
    private int dollars;
    private int pints;
    private boolean creditCard;

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

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

    public void setCreditCard(String valid) {
    creditCard = "yes".equals(valid);
    }

    public String goToStore() {
    (pints == 0 && (dollars > 2 || creditCard)) ? "yes" : "no";
    }
    首先看表格的第一行should I buy milk对应测试代码ShouldIBuyMilk测试类,再看表格第二行第一列cash in wallet对应测试代码setCashInWallet方法,第二列credit card对应测试代码setCreditCard,以此类推后面几列,我们看到最后一列有点比前面几列多了一个?号,这个问号表示最后一列是一个方法,也就是我们需要得到的结果,前面几列表示参数,所以他们需要在测试代码中加上set。从表格的第三行开始就是我们的测试用例参数,总共8个测试用例在一张decision表格中就全部描述完成,当我们点击Test按钮就可以得到以下结果:


    我们可以看到从第三行开始绿色的表示通过的case,红色的表示失败的case并且会有实际值显示出来,这样我们在一次执行中就完成了8个case的执行。下一节中我会重点剖析decision表格的源码结构。

  • 相关阅读:
    GITHUB常见命令
    GITHUB常用命令
    java构建简单的HTTP服务器
    是否会被锁
    GITHUB使用指南
    GITHUB使用指南、
    C#
    金蝶后台表对应
    金蝶K3表
    nodejs nodejs的操作
  • 原文地址:https://www.cnblogs.com/victorcai0922/p/2470897.html
Copyright © 2011-2022 走看看