追求代碼質(zhì)量(14)-對ajax應(yīng)用程序進(jìn)行單元測試-java開發(fā)java經(jīng)驗技巧

追求代碼質(zhì)量(14)-對ajax應(yīng)用程序進(jìn)行單元測試-java開發(fā)java經(jīng)驗技巧

ID:30948336

大?。?16.88 KB

頁數(shù):10頁

時間:2019-01-04

追求代碼質(zhì)量(14)-對ajax應(yīng)用程序進(jìn)行單元測試-java開發(fā)java經(jīng)驗技巧_第1頁
追求代碼質(zhì)量(14)-對ajax應(yīng)用程序進(jìn)行單元測試-java開發(fā)java經(jīng)驗技巧_第2頁
追求代碼質(zhì)量(14)-對ajax應(yīng)用程序進(jìn)行單元測試-java開發(fā)java經(jīng)驗技巧_第3頁
追求代碼質(zhì)量(14)-對ajax應(yīng)用程序進(jìn)行單元測試-java開發(fā)java經(jīng)驗技巧_第4頁
追求代碼質(zhì)量(14)-對ajax應(yīng)用程序進(jìn)行單元測試-java開發(fā)java經(jīng)驗技巧_第5頁
資源描述:

《追求代碼質(zhì)量(14)-對ajax應(yīng)用程序進(jìn)行單元測試-java開發(fā)java經(jīng)驗技巧》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、追求代碼質(zhì)量(14):對Ajax應(yīng)用程序進(jìn)行單元測試-編程開發(fā)技術(shù)追求代碼質(zhì)量(14):對Ajax應(yīng)用程序進(jìn)行單元測試原文出處:IBM中國A/kv?在近期無疑是Web開發(fā)界最時髦的字眼之一——與Ajax相關(guān)的工具、框架、書籍以及Web站點的劇增就是該技術(shù)流行的最好證明。此外,Ajax應(yīng)用程序也相當(dāng)靈巧,不是嗎?不過,像任何一個開發(fā)過Ajax應(yīng)用程序的人證實的一樣,對Ajax執(zhí)行測試真的很不方便。事實上,Ajax的岀現(xiàn)已經(jīng)從根本上使得許多測試框架和工具關(guān)袞,因為它們并沒有針對異步Web應(yīng)用程序測試進(jìn)行設(shè)計!有趣的是,某個支持Ajax的框架的開發(fā)人員注意到

2、了這個限制,并為此做了一些非常新穎的設(shè)計:內(nèi)置的可測試性。除此之外,由于該框架簡化了使用Java?代碼(而不是JavaScript)創(chuàng)建Ajax應(yīng)用程序,它的起點甚高,并且充分利用了Java平臺上無可置疑的標(biāo)準(zhǔn)測試框架:JUnito我所論及的框架當(dāng)然是非常流行的GoogleWebToolkit,也就是GWT。在本文中,我將向您展示GWT如何實際地利用Java兼容性,使Ajax應(yīng)用程序的毎個部分都能像與之對應(yīng)的同步應(yīng)用程序-樣進(jìn)行測試。JUnit和GWTTestCase因為與GWT有關(guān)的Ajax應(yīng)用程序采用Java代碼編寫,所以非常適合開發(fā)人員使用JUn

3、it進(jìn)行測試。事實上,GWT開發(fā)小組還為此創(chuàng)建了一個幫助器類?GWTTestCase,擴(kuò)展自JUnit的3.8.l?TestCaseo該基類添加了一些功能,可測試GWT代碼并處理某些基礎(chǔ)實現(xiàn)從而啟動并運行GWT組件。需要提醒的是:GWTTestCase?并非用來測試與UI相關(guān)的代碼一一它是為了便于測試那些由U1交互磁發(fā)?的異步問題。對?GWTTestCase?用途的誤解使許多剛接觸GWT的開發(fā)人員備受挫折,因為他們期望能夠用它方便地模擬用戶界面,但最終發(fā)現(xiàn)這是徒勞的。Ajax組件有兩個基本組成:體驗和功能,這些都被設(shè)計成異步方式。圖1演示了一個模擬We

4、b表單的簡單Ajax組件。由于該組件支持Ajax,表單的提交是異步執(zhí)行的(即:無需重新載入與傳統(tǒng)表單捉交關(guān)聯(lián)的頁而)。圖1.—個支持Ajax的簡單Web表單DictionaryServiceWord:IISubmit輸入一個有效單詞,單擊組件的?Submit?按鈕,將向服務(wù)器發(fā)送消息請求該單詞的定義。該定義通過回調(diào)異步返回,相應(yīng)地插入到Web頁面,如圖2所示:圖2.單擊Submit按鈕后顯示響應(yīng)DictionaryServiceWord:JpugnaciousSubmitinclinedtoquarrelorfightreadily,quarrelso

5、me,belligerent;combative.功能性和集成測試圖2所示的交互測試可用于多個不同場景,但是其屮兩種場景最為常見。從功能性觀點考慮,您或許希望編寫一個測試:填入表單值,單擊Submit?按鈕,然后驗證表單是否顯示定義。另外一個選擇是集成測試,使您能夠驗證客戶端代碼的異步功能。GWT的?GWTTestCase?正是被設(shè)計用來執(zhí)行此類測試。需要牢記的是:在?GWTTcStCasc?測試用例環(huán)境下不可以進(jìn)行用戶界面測試。在設(shè)計和構(gòu)建GWT應(yīng)用程序時,您必須清楚不妥加孩兩戶繆而測試代碼。這種思路需要把交互代碼從業(yè)務(wù)邏輯中分離出來,正如您已經(jīng)了解

6、的,這是最佳的入門實踐!舉例而言,重新查看圖1和圖2所示的Ajax應(yīng)用程序。該應(yīng)用程序由四個邏輯部分構(gòu)成:TextBox?用于輸入目標(biāo)單詞,Button?用于執(zhí)行單擊,述有兩個?Label(一個用于?TextBox,另一個顯示定義)。實際GWT模塊的初始方法如清單1所示,但是您該如何測試這段代碼呢?清單1.一個有效的GWT應(yīng)用程序,但是如何測試它?publicclassDefaultModuleimplementsEntryPoint{publicvoidonModuleLoad(){Buttonbutton=newButton("Submit");T

7、extBoxbox二newTextBox();Labeloutput二newLabel();Labellabel=newLabel("Word:〃);HorizontalPanelinputPanel=newHorizontalPanel();inputPanel.setStyleName(/zinput-panel〃);inputPanel.sctVcrticalAlignmcnt(IlasVcrticalAlignmcnt.ALIGN_MIDDLE);inputPanel.add(label);inputPanel.add(box);button.

8、addClickListener(newClickListener(){publicvoido

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。