91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Fitnesse使用系列二

發布時間:2020-07-19 06:42:14 來源:網絡 閱讀:708 作者:jch_zhao 欄目:軟件技術

決策表

Fitnesse中提供了好幾種表格樣式,前面說了,表格是執行測試的關鍵。從字面看,表格描述的是測試用例;從執行角度看,表格為后端的代碼(fitnesse里稱作fixture)提供了包名、類名、方法名和參數(僅以java為例)。

先說測試系統,fitnesse提供了兩種測試系統:fit和slim。采用不同的測試系統,表格樣式不同,代碼也不同。所以首先就要確定用哪種。fit是默認的,是從Framework for Integrated Test工具延續過來的。如果不考慮舊代碼延用的問題,建議還是用slim。因為slim在性能上要更好,而且代碼編寫更簡單。

使用slim需要在頁面加一行說明:!define TEST_SYSTEM {slim} ,通常放在頁頂端

下面就該描述執行代碼所依賴的類或jar包了。格式一般這樣寫:

!pathD:\software\eclipse\workspaces\MyDemo\bin\ 或

!pathD:\software\eclipse\workspaces\MyDemo\libs\*.jar(如果不指定.jar,那就去找.class文件)

在去年的版本里還需要把fitnesse自身的jar包加上:!pathD:\software\fitnesse-standalone.jar ,但是今年的版本里,我發現已經不需要這句了。

決策表這個樣式的:

my demo
inputa
inputbexp?
123
8917

這個my demo就是代碼的類名了,大家知道在大多數編程語言里是不允許含有空格的標識符的。那么在代碼里用my demo肯定是不行的。Fitnesse其實是這樣做的——把每個單詞首字母大寫,然后連起來。所以對應于代碼里的類名是MyDemo,這樣一來,其實這里寫成My Demo、My demo、MyDemo效果都是一樣的。但寫成mydemo就不行了,這只能被轉換成Mydemo,我想我說明白了吧。對于類的全名(含包名),那就只能老老實實按正常寫法了,比如:com.calis.zjc.MyDemo,不能有空格,否則再自動轉成首字母大寫就不對了。

下一行就是方法名了。Fitnesse是這樣做的——凡不是以?結尾的,都認為是輸入方法,無返回值,方法名是set+首字母大寫字符串,也就是說,上面表格對應的方法名分別是:void setInputa(...)  、void setInputb(...);而以?結尾的列,則認為是驗證方法,無參數有返回值。對應方法名是int exp()。何以見得返回值類型就是int呢,其實是不限定的。不論返回什么類型都可以和頁面上的字符做比較,這點比較智能(我沒有看到源代碼,但我估計是拿到返回值再統統.toString(),之后和頁面上的字符串做equals的)

綜上所述:上面表格對應的代碼為:

public class MyDemo {
	private int a,b;
	public void setInputa(int a){
		this.a=a;
	}
	public void setInputb(int b){
		this.b=b;
	}
	public int exp(){
		return a+b;
	}
}

當我們把此頁面屬性設置為test時,點擊那個test按鈕,系統就會去查找并加載這個類,然后運行相應的方法,也即:第一步setInputa(int a),a為1;第二步setInputb(int b),b為2;第三步exp取得返回值3和表格中的3做比較,一致,這行就是綠色的,不一致就是紅色的;然后再做第二行......,這樣就完成了兩個測試用例的執行。(如果表格里填的不是整數,那么執行賦值方法會拋異常,這點也要注意)

再說一句,執行頁面并非只能寫表格。完全可以寫其他文字,不影響執行結果。所以我們完全可以寫一段需求說明,跟著一個表格做驗證;再寫一段使用說明,再跟寫一個表格;描述一個缺陷,再跟一個表格......這樣,這個頁面就成了既是文檔,又是可執行用例了。總之,讓“文字”得以驗證,是這個工具的亮點。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新源县| 北辰区| 乐都县| 清流县| 集贤县| 新巴尔虎右旗| 大厂| 大关县| 原阳县| 自贡市| 乌兰察布市| 肥东县| 雷波县| 栾川县| 柯坪县| 漯河市| 科技| 大同市| 宜都市| 临漳县| 利辛县| 湄潭县| 塘沽区| 东乌珠穆沁旗| 年辖:市辖区| 石台县| 邓州市| 阜宁县| 天台县| 收藏| 江津市| 庆安县| 萨嘎县| 托克逊县| 精河县| 团风县| 象山县| 莫力| 嘉善县| 邢台市| 松滋市|