查詢表、子查詢表、有序查詢表
創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元吉利做網(wǎng)站,已為上家服務(wù),為吉利各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
表頭還是要加上標(biāo)記,這個沒什么說的。構(gòu)造參數(shù)列通常是為了提供查詢條件(可省略)。fixture代碼里面需要注意的是一定要有個無參數(shù)的query方法,返回值是List。這個List有點復(fù)雜,是三層List的一個集合,分別對應(yīng)于表、行、字段??陬^表述不很清楚,還是看下面的代碼好了。返回的結(jié)果和頁面上的數(shù)據(jù)進(jìn)行比較。查詢表適合對關(guān)系數(shù)據(jù)庫的查詢結(jié)果進(jìn)行驗證。
Query:qt.zjc.com.QueryTable | 123456 | ||
name | age | job | salary |
zjc | 99 | worker | 1000000 |
代碼如下:
public class QueryTable { private int salary; private List table; public QueryTable(int s){ this.salary=s; } public List query(){ table=new ArrayList(); ArrayList row=new ArrayList(); ArrayList field1=new ArrayList(); ArrayList field2=new ArrayList (); ArrayList field3=new ArrayList (); ArrayList field4=new ArrayList (); field1.add("name"); field1.add("zjc"); row.add(field1); field2.add("age"); field2.add("99"); row.add(field2); field3.add("job"); field3.add("worker"); row.add(field3); field4.add("salary"); field4.add("1000000"); row.add(field4); table.add(row); return table; } }
可以看到,構(gòu)造這個List結(jié)構(gòu)相當(dāng)繁瑣。當(dāng)然我這里只是個示例,實際中肯定是循環(huán)操作了。但即便如此,我認(rèn)為也可以找到某些更簡單的方式達(dá)到相同的驗證目的,比如使用決策表。測試代碼一定要盡可能的簡單明了,不要包含復(fù)雜的操作和業(yè)務(wù)邏輯,否則測出問題還要排查是業(yè)務(wù)代碼的問題還是測試代碼的問題,那就得不償失了,這是我的觀點。所以個人覺得查詢表的應(yīng)用范圍并不廣泛,也就一并把子查詢表和有序查詢表寫一起了。
子查詢表、有序查詢表格式和查詢表一模一樣。按文檔說法子查詢表是要包含確定存在的結(jié)果,我驗證沒發(fā)現(xiàn)任何區(qū)別;有序查詢表就是結(jié)果按順序比較,內(nèi)容都對、順序不對也認(rèn)為是測試失敗。