亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
翻譯JRUnit的文檔
作者:網絡轉載 發布時間:[ 2013/1/25 15:34:30 ] 推薦標簽:

近開始接觸JBOSS IDE,想借此學習J2EE,在查資料時,偶爾接觸到jboss社區的一個開源項目——JRUnit,是Junit的一個擴展,貌似功能還挺強大的。百度一下,發現相關資料少之又少,遂冒出翻譯他的官方文檔的念頭,起碼也是對開源的一丁點貢獻,還能練練E文
首先給出這份官方資料的URL,是一個入門指南
http://labs.jboss.com/jrunit/downloads/jboss-jrunit.pdf
第一次翻譯,加上我以前也沒接觸過JRUnit,肯定會有不少錯誤,希望大家諒解指正,為了方便敘述很多地方不是完全按原文翻譯,好還是看官方的原文。我不確定的地方會加以注明并附上原文
OK,Let's get starting

原文共四章,很短總共十六頁
第一章   《概述,什么是JRUnit》
jrunit通過向基于junit的測試框架加入對基準(benchmark)的支持,以及對junit框架本身的擴展,從而為基于分布式的客戶端/服務器模式的(client/server)測試提供支持。需要強調的是,jrunit不是用來替代junit的,而是對junit的一個擴展,使其對企業應用方面有更好的支持。
說到基于C/S的測試,junit本身有著不少明顯的局限性,使它在這方面不是很好用。一個顯著的地方是,junit被設計成所有的test都在一個單獨的類、一個單獨的進程內運行。另一個局限是,所有的測試都是原子的、與任何外圍代碼都沒有關系,因此每個測試的生命周期都是相互獨立的。這些特征對于低級別的代碼單元很好用,但換上C/S模式的測試時則不盡然
由于C/S架構代碼的特殊性,它們對于測試有著額外的要求。首先是對客戶端和服務器端測試的生命周期,或者說狀態,必須能進行管理。這一點很重要,因為在客戶端進行測試并且連接服務器之前,服務器必須已經創建并初始化完畢;同樣服務器不能在客戶端完成所有測試之前關閉。此外還必須能夠將服務器和客戶端的所有測試結果整合成為一份單一的結果格式。后,所有這些都能夠從單點驅動,這樣能夠在一次構建中,把它們包含進自動化測試中去。(Finally, need to be able to have all this driven  fromasinglepointsocanbeincludedwithinanautomatedtestrunfromabuild.)

jrunit通過允許多個test case以及客戶端和服務器,在多個不同的進程上同步運行但是由一個中央driver進行控制,來解決上述問題。這個driver控制所有test case的整個生命周期。所有由driver產生的test case都被放入一個harness中,由harness向driver匯報執行情況。而這個driver本身是一個TestCase類,所以可以直接從IDE或者JUNIT中調用

jrunit還提供額外的benchmark插入(hook)到測試代碼中。這些benchmark hook能讓jrunit框架收集統計數據,即關于不同測試代碼段運行所花費的時間的統計。這些數據可以被記錄在許多持久性存儲中(a number of persistent store)并實時查看;或者也可以記錄一段時間內的數據,來看看一段時期內隨著代碼的變更,性能是如何受到影響的。

第一章翻譯完了,區區一頁紙搞了半天,看來翻譯比起自己看懂要難多了。水平粗糙各位見諒

C/S測試
       首先要解決的是服務器端測試的生命周期問題,因為它需要從junit生命周期管理的默認行為中分離出來(單獨討論)
       首先需要有一種方法來通知服務器端啟動和初始化,可以用setup方法做到。一旦這個方法返回,也可以假設服務器已經作好接收調用的準備了。其次,需要告之服務器進行關閉和清理回收資源,可以用tearDown方法來實現,只有在所有客戶端都已經完成對服務器端的調用時,才能使用tearDown方法
       通過繼承org.jboss.jrunit.ServerTestCase類而不是以往的junit.framework.TestCase類,可以實現上述行為。這個ServerTestCase類實際上繼承自TestCase類,不過重寫了其中一些方法來實現所需功能
       正如在junit測試過程中一樣,server的實現還需要有一個test方法,用于在setUp后調用。test方法中含有assert(斷言),用于驗證服務器端數據和metrics(度量?)
       這里有幾個重點....服務器的test case只能有一個test方法,這是因為junit每運行一個test方法,會新建一個測試實例來專門運行這個test方法,因此如果有多個test方法,會有多個服務器test case的實例。如果非要改變這一機制,得對junit本身進行相當大的改動,所以請你只使用一個test方法(或者你也可以自己去修改junit)
       還有很重要的一點是,tearDown方法可能會在某個方法還在運行期間被調用了。你可以故意這么做,讓一個test方法一直循環直到tearDown被調用為止。舉個例子,可以像這樣:
...
public void testServerMetrics()
{
    while(!stop)
    {
    // collect data here
    }
}
protected void tearDown()
{
   stop = true;
   // so will cause testServerMetrics() to break out of loop
   // do shutdown and clean up code.
}
...

    對于客戶端test case來說,jrunit沒有什么特別的要求,只要繼承了junit.framework.TestCase類,確保滿足了junit test case的要求可以了。(譯注:是和以前用junit一樣)

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 成人免费视频网 | 狠狠大日本亚洲香蕉亚洲 | 久久中文字幕免费视频 | 成人h免费观看视频 | 亚洲黄色视屏 | 在线视频一区二区三区 | 丝袜美腿极品老师系列集合 | 777国产精品永久免费观看 | 韩国xxxx色视频在线观看 | 国产精品亚洲片在线牛牛影视 | 久久免费视频网站 | 免费看的黄色小视频 | 天天久久综合 | 毛片三级在线观看 | 天天插日日插 | 精品国产免费第一区二区 | 欧美一级视频在线观看欧美 | 日本视频www色变态 日本爽p大片免费观看 | 国产亚洲欧美成人久久片 | 亚洲欧洲网站 | 国产手机在线αⅴ片无码观看 | 亚洲日本视频 | 国产美女丝袜黑色视频 | 欧美三级在线 | 色综合久久六月婷婷中文字幕 | 黄黄视频网站 | 幺女国产一级毛片 | 六度国产福利午夜视频黄瓜视频 | 亚洲视频成人 | nu77亚洲综合日韩精品 | 成年男女男免费视频网站不卡 | 亚洲无线码一区二区三区 | 成 人 a v免费视频 | 日韩妞干网 | 免费啪啪社区免费啪啪手机版 | 欧洲男女啪啪免费观看 | 午夜视频在线观看按摩女 | 欧美太黄太色视频在线观看 | 深爱激情五月婷婷 | 国内精品1区1区3区4区 | 中文字幕精品一区二区日本大胸 |