最近開始接觸JBOSS IDE,想借此學習J2EE,在查資料時,偶爾接觸到jboss社區的一個開源項目——JRUnit,是Junit的一個擴展,貌似功能還挺強大的。百度一下,發現相關資料少之又少,遂冒出翻譯他的官方文檔的念頭,起碼也是對開源的一丁點貢獻,還能練練E文 首先給出這份官方資料的URL,是一個入門指南 原文共四章,很短總共就十六頁 第一章 《概述,什么是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還提供額外的benchmark插入(hook)到測試代碼中。這些benchmark hook能讓jrunit框架收集統計數據,即關于不同測試代碼段運行所花費的時間的統計。這些數據可以被記錄在許多持久性存儲中(a number of persistent store)并實時查看;或者也可以記錄一段時間內的數據,來看看一段時期內隨著代碼的變更,性能是如何受到影響的。