spring+xml集成測試

Spring的集成測試###

單位測試和集成測試,我想大家都做過,一般情況下锻离,一般邏輯且不需要操作數(shù)據(jù)庫的情況比較適合于單位測試了氓涣。而對于一個(gè)數(shù)據(jù)庫應(yīng)用來說耕挨,集成測試可能比單元測試更重要,你可以想象,一個(gè)互聯(lián)網(wǎng)應(yīng)用,不是增修數(shù)據(jù)劳秋,就是查詢數(shù)據(jù)了,那么驗(yàn)證操作在數(shù)據(jù)記錄上的影響就更為需要胖齐。如果在的應(yīng)用中使用了spring玻淑,那么就可以利用spring集成測試框架了,其實(shí)它所做的工作就是加載配置文件并配置其中相關(guān)的信息呀伙,其中也包括數(shù)據(jù)源等补履,其次在驗(yàn)證完成之后,回滾對數(shù)據(jù)表的操縱剿另,當(dāng)然你也可以手動(dòng)的設(shè)置為不回滾箫锤,總之,spring的測試框架大大簡化集成測試所要做的工作雨女。

我的問題###

spring解決了我們集成測試當(dāng)中的大部分問題麻汰,但是在有些情況下,還是非常的麻煩戚篙,主要在兩個(gè)方面無法減少測試的工作量,一是準(zhǔn)備測試數(shù)據(jù)(先于測試插入數(shù)據(jù)表中的數(shù)據(jù))溺职,可能針對于一個(gè)功能的一種場景的測試岔擂,準(zhǔn)備的測試數(shù)據(jù)可能就涉及到十幾,幾十張表浪耘,數(shù)據(jù)記錄就達(dá)到幾十乱灵,幾百條。其二七冲,需要驗(yàn)證的數(shù)據(jù)項(xiàng)非常多(驗(yàn)證操作在數(shù)據(jù)記錄上的影響)痛倚,你可能需要驗(yàn)證十幾張,幾十張表中的若干個(gè)字段的數(shù)據(jù)正確性澜躺,所以蝉稳,在這種情況下抒蚜,一個(gè)功能一個(gè)分支的測試就可能涉及到上百行代碼,可以想象耘戚,要是這個(gè)功能多幾個(gè)分支嗡髓,測試代碼迅速膨脹,而且這樣的代碼還需要維護(hù)(要知道測試的代碼也是需要維護(hù)了收津,極有可能因?yàn)楸斫Y(jié)構(gòu)或者程序邏輯發(fā)生的變化而需要變更測試代碼) 饿这,那么遇到這樣的情況,有什么辦法呢撞秋?

我的解決方法###

針對上面的測試窘境长捧,主要是要解決兩個(gè)方面的問題,第一吻贿,準(zhǔn)備測試數(shù)據(jù)串结;第二,驗(yàn)證數(shù)據(jù)項(xiàng)廓八。其實(shí)這樣兩個(gè)問題歸為一個(gè)問題就準(zhǔn)備數(shù)據(jù)和驗(yàn)證項(xiàng)太多了奉芦,導(dǎo)致測試代碼膨脹,解決這個(gè)問題的辦法就是把準(zhǔn)備測試數(shù)據(jù)和驗(yàn)證項(xiàng)都放到外部文件中去剧蹂,比如xml文件了声功,請看下面的xml文件:

 <?xml version="1.0" encoding="UTF-8"?> 
<suite> 
    <case enable="true"> 
        <desc>測試用例描敘</desc> 
            <init> 
                <insert>初始化SQL</insert>
                <insert>初始化SQL</insert>  
            </init> 
        <assert> 
            <select>查詢SQL</select> 
            <props> 
                <prop key="查詢SQL的選擇列">期望值</prop> 
                <prop key="查詢SQL的選擇列">期望值</prop> 
            </props> 
        </assert> 
    </case>
</suite>

我們把測試的初始化腳本,斷言的SQL以及期望值都放在xml文件中宠叼,其中case代表功能的一個(gè)邏輯分支先巴。如果這些東西都放在外部文件的時(shí)候,那么測試就只剩下了三步:第一步冒冬,讀取xml文件伸蚯;第二步,調(diào)用需要測試功能简烤;第三步剂邮,調(diào)用斷言方法,這就是需要我們的測試代碼了横侦,其中第一步和第三步都是所有測試方法所共有挥萌,這樣是不是大大簡化的代碼量呢,另外由于初始化腳本枉侧,斷言SQL引瀑,期望值都放在外部文件中,就更便于測試代碼的維護(hù)了榨馁。

你認(rèn)為我的方法如何呢憨栽?你有沒有更好的方法,歡迎各位給出你的意見。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末屑柔,一起剝皮案震驚了整個(gè)濱河市屡萤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锯蛀,老刑警劉巖灭衷,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異旁涤,居然都是意外死亡翔曲,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門劈愚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞳遍,“玉大人,你說我怎么就攤上這事菌羽÷有担” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵注祖,是天一觀的道長猾蒂。 經(jīng)常有香客問我,道長是晨,這世上最難降的妖魔是什么肚菠? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮罩缴,結(jié)果婚禮上蚊逢,老公的妹妹穿的比我還像新娘。我一直安慰自己箫章,他們只是感情好烙荷,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著檬寂,像睡著了一般终抽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上桶至,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天拿诸,我揣著相機(jī)與錄音,去河邊找鬼塞茅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛季率,可吹牛的內(nèi)容都是我干的野瘦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鞭光!你這毒婦竟也來了吏廉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤惰许,失蹤者是張志新(化名)和其女友劉穎席覆,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汹买,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡佩伤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晦毙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片生巡。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖见妒,靈堂內(nèi)的尸體忽然破棺而出孤荣,到底是詐尸還是另有隱情,我是刑警寧澤须揣,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布盐股,位于F島的核電站,受9級特大地震影響耻卡,放射性物質(zhì)發(fā)生泄漏疯汁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一劲赠、第九天 我趴在偏房一處隱蔽的房頂上張望涛目。 院中可真熱鬧,春花似錦凛澎、人聲如沸霹肝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沫换。三九已至,卻和暖如春最铁,著一層夾襖步出監(jiān)牢的瞬間讯赏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工冷尉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留漱挎,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓雀哨,卻偏偏與公主長得像磕谅,于是被迫代替她去往敵國和親私爷。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理膊夹,服務(wù)發(fā)現(xiàn)衬浑,斷路器,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,810評論 6 342
  • spring官方文檔:http://docs.spring.io/spring/docs/current/spri...
    牛馬風(fēng)情閱讀 1,672評論 0 3
  • 誰應(yīng)該陪著誰放刨?就是因?yàn)楦杏X還在 這是進(jìn)入大學(xué)生活的第三個(gè)月工秩,大概已經(jīng)習(xí)慣了每天忙碌卻空閑的生活, 重復(fù)的...
    SHY1998閱讀 173評論 0 1
  • 懂得人生怎么過进统,比人生過得怎么樣還重要助币。 “母愛的奇跡”,的確麻昼,鄒翃燕用她的母愛創(chuàng)造了奇跡奠支,使一個(gè)腦癱患兒能夠恢復(fù)...
    春曉滌生閱讀 112評論 0 0