您好,登錄后才能下訂單哦!
腳本表
如果說前面介紹的幾種表格都是單步驟、單方法。Script table就是一系列的多步驟操作了,正如名稱所代表的含義。
表頭的第一個(gè)格加script:前綴,也可以只是一個(gè)script,后面緊跟的單元格作為類名。后面跟構(gòu)造參數(shù)。下面的行每行代表一個(gè)操作。允許的操作類型有:執(zhí)行方法、檢查結(jié)果、顯示輸出。
執(zhí)行方法包括方法名稱和參數(shù)。相當(dāng)奇葩的設(shè)計(jì)是方法名稱可以和參數(shù)交錯(cuò)放入表格中。如我下面的示例中this is a method in code是分別從1、3、5列中組合起來的,而2、4、6列是參數(shù)。還是用另外一種寫法更符合正常習(xí)慣些——第一列放方法名(緊跟一個(gè);),后面依次放參數(shù)。
檢查結(jié)果用四個(gè)詞組作為第一列的內(nèi)容:check、check not、ensure、reject,分別表示比對(duì)返回結(jié)果與表格內(nèi)容相同、與表格內(nèi)容不同、返回的是true、返回的是false
顯示輸出用show單詞,在第一列,后面是方法名和參數(shù)。這一行只顯示輸出不做驗(yàn)證。所以結(jié)果表格中會(huì)多出一列。
示例:
script:script.zjc.com.ScriptDemo | zjc | 20 | |||
this is | 10 | a method | 20 | in code | 30 |
check | get age | 80 | |||
this is a method in code; | 15 | 25 | 35 | ||
check not | get age | 200 | |||
show | get name | 5 | |||
reject | reject method | 5 |
fixture:
package script.zjc.com; public class ScriptDemo { private String name; private int age; public ScriptDemo(String name,int age){ this.name=name; this.age=age; } public void thisIsAMethodInCode(int a,int b,int c){ age=age+a+b+c; } public int getAge(){ return age; } public String getName(int a){ return name; } public boolean rejectMethod(int a){ return false; } }
在我看來,script table和decision table是最重要的兩種表格,decision table可以實(shí)現(xiàn)大部分的數(shù)據(jù)驗(yàn)證,而script table可以搭配其他工具一起使用,實(shí)現(xiàn)很多奇妙的、超出預(yù)期的功能。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。