Fitnesse Slim使用 - ScriptTable

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fitnesse Slim使用 - ScriptTable相关的知识,希望对你有一定的参考价值。

Fitnesse Slim使用 - ScriptTable

2017-09-28 

script login dialog driver Bob xyzzy
login with username Bob and password xyzzy
check login message Bob logged in.
reject login with username Bob and password bad password
check login message Bob not logged in.
check not login message Bob logged in.
ensure login with username Bob and password xyzzy
note this is a comment
show number of login attempts
$symbol= login message

 源代码:

技术分享
public class LoginDialogDriver {
  private String userName;
  private String password;
  private String message;
  private int loginAttempts;

  public LoginDialogDriver(String userName, String password) {
    this.userName = userName;
    this.password = password;
  }

  public boolean loginWithUsernameAndPassword(String userName, String password) {
    loginAttempts++;
    boolean result = this.userName.equals(userName) && this.password.equals(password);
    if (result)
      message = String.format("%s logged in.", this.userName);
    else
      message = String.format("%s not logged in.", this.userName);
    return result;
  }

  public String loginMessage() {
    return message;
  }

  public int numberOfLoginAttempts() {
    return loginAttempts;
  }
} 
View Code

 

技术分享

说明:

很明显,这个表中每一行都是一条指令。 

Script:login dialog driver Bob xyzzy

第一行Script后面跟的是类名LoginDialogDriver和构造函数的参数Bob,xyzzy,这一行称之为actor,如果table中没有actor,就沿用上一个table的actor。

Script table 调用方法可以插入式调用,即方法和参数是相间的,如下所示:

login with username Bob and password xyzzy

也可以连续调用,可以在单元格方法名后面添加分号,然后紧接的单元格都是入参,如下所示:

login with username and password; Bob xyzzy

 

  •  一行中如果只包含一个方法名,那么只有它返回的是布尔值,才会执行的时候变成绿色或者红色,其他情况不会有颜色
  • 如果一个变量在第一个单元格,则它后面应该跟的是方法名,该变量的值就是方法返回的值
  • 如果第一个单元格是check,则它后面应该跟的是方法名,最后一个单元格就是期望值
  • 如果第一个单元格是not check,则它后面跟的是方法名,最后一个单元格就是不希望的期望值
  • 如果第一个单元格是ensure,则它后面跟的是方法名,返回的布尔值如果是true就变成绿色,如果是false就变成红色
  • 如果第一个单元格是reject,则它后面跟的是方法名,返回的布尔值如果是false就变成绿色,返回的布尔值如果是true就变成红色
  • 如果第一个单元格是note,则在执行的时候就会忽略(空格,以#或者*开头的都是这种效果)
  • 如果第一个单元格是show,则它后面跟的是方法名,当这个测试运行的时候,一个新的单元格将会被添加,显示的是该方法的返回值
  • 如果第一个单元格是start,它后面跟的应该是一个新的类名和构造函数的参数,会开始一个新的actor,覆盖上面的,它下面的script都会沿用该actor

 

以上是关于Fitnesse Slim使用 - ScriptTable的主要内容,如果未能解决你的问题,请参考以下文章

Fitnesse Slim使用 - ScriptTable

Fitnesse Slim使用 - QueryTable

Fitnesse-The Slim Tables

使用 SLIM fitNesse 工具的脚本表

Fitnesse FIT的使用

使用 Fitnesse 的 XML 输入/输出