版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、JA V A 自動化單元測試工具 Junit Factory使用介紹(開發(fā)人員不再需要編寫 Junit 測試用例最近在 PassPort 項目中,很多開發(fā)人員都采用了 Junit 作為單元測試工具,保證代碼質(zhì)量,所 以我最近研究了 agitar 公司的一種免費的 junit 自動生成的工具 -junit factory, agitar 公司有一套 更優(yōu)秀的商業(yè)軟件 -自動化單元測試工具 agitarone 。Junit 是 JA V A 開發(fā)中應(yīng)用最多的單元測試框架, 部門內(nèi)部也逐漸普及到各個項目開發(fā)中, 雖 然 Junit 測試框架易學(xué)易用, 但是還是在保證代碼質(zhì)量的同時增加了開發(fā)人員的代碼
2、工作量, 需要拿出部分時間編寫 Junit 測試代碼。 Junit Factory就能更好的提高單元測試效率!原理:Junit Factory和 agitarone 的一項關(guān)鍵技術(shù)就是 software agitation,它可以為你自動創(chuàng)建各種測試 用例(實際測試必須要測試每一行、每一條分支、甚至每一種輸出 ,而且自動創(chuàng)建的過程 是通過對代碼的 agitation , (一種基于 java 二進制代碼的分析, 可以自動得出需要測試的東東 后跟開發(fā)者交互來完成的。 agitation 的這種技術(shù)是基于服務(wù)器并且是分布式的,可以遠(yuǎn)程使 用,并可以利用多個服務(wù)器來完成。安裝:Junit Facto
3、ry 是可以作為 eclipse 插件使用的,也可以和 ant 一起使用。部門內(nèi)主要開發(fā)工具是 eclipse ,所以介紹如何在 eclipse 下用 Junit Factory生成 Junit 單元測試用例!Download :1. Eclipse, 選 Help ,選 Software Updates ,點 Find and Install ;2. 選擇“ Search For New Features to Install” 然后“ Next ” ;3. 選 New Remote Site ;4. 輸入一個 JUnit Factory網(wǎng)站的注冊用戶名 ;5. 輸入 url : ;6. 安
4、裝所有 plug-ins ;7. 重新啟動 eclipse ;使用:安裝完成后會在 eclipse 的工具條中出現(xiàn) Generate Tests和 Generate Dashboard兩個按鈕,使用 Generate Tests生成 Junit 單元測試用例, 使用 Generate Dashboard查看包或者項目的單元測 試結(jié)果和帶代碼分析報告(利用 Crap4J 進行代碼分析,得到 Fail 數(shù)量、 Pass 數(shù)量、覆蓋率、 代碼規(guī)范錯誤、 Risk Classes等等 。操作很簡單,不詳述!如圖 1源碼和生成的 Junit 測試代碼舉例源碼源碼:/*Instructions:1. En
5、ter (or paste some code2. Hit "Generate a Test"3. Your test will appear in the queue on the right of the page(or you can just 'Generate a Test' for this class*/package demo;public class LeapYear public static boolean isLeapYear(int year if(year < 1throw new IllegalArgumentExcept
6、ion(;if(year % 400 = 0return true;if(year % 100 = 0return false;if(year % 4 = 0return true;return false;生成的 Junit 測試代碼:/* Generated by Agitar build: JUnitFactory V ersion 2.2.0.000710 (Build date: Jan 15, 2008 2.2.0.000710* JDK Version: 1.6.0_01* Generated on Mar 14, 2008 2:33:28 AM* Time to generat
7、e: 00:10.863 seconds*/package demo;import com.agitar.lib.junit.AgitarTestCase;public class LeapYearAgitarTest extends AgitarTestCase public Class getTargetClass( return LeapYear.class;public void testConstructor( throws Throwable new LeapYear(;assertTrue("Test call resulted in expected outcome&
8、quot;, true;public void testIsLeapYear( throws Throwable boolean result = LeapYear.isLeapYear(100;assertFalse("result", result;public void testIsLeapYear1( throws Throwable boolean result = LeapYear.isLeapYear(1;assertFalse("result", result;public void testIsLeapYear2( throws Thr
9、owable boolean result = LeapYear.isLeapYear(4;assertTrue("result", result;public void testIsLeapYear3( throws Throwable boolean result = LeapYear.isLeapYear(2;assertFalse("result", result;public void testIsLeapYear4( throws Throwable boolean result = LeapYear.isLeapYear(10000;ass
10、ertTrue("result", result;public void testIsLeapYearThrowsIllegalArgumentException( throws Throwable try LeapY ear.isLeapY ear(0;fail("Expected IllegalArgumentException to be thrown" catch (IllegalArgumentException ex assertNull("ex.getMessage(", ex.getMessage(;assertThr
11、ownBy(LeapYear.class, ex;Demo 地址:用戶可以到這個 Demo 地址中輸入任何代碼來查看生成的 Junit TestCase 。Generate Dashboard 可以輸出 Junit TestCase 的運行結(jié)果和代碼分析報告(可以點擊 eclipse 中 JUnit Factory視圖中的 View Dashboard來打開瀏覽器顯示代碼分析報告 ,如圖 2另外, 查看 Dashboard 時, 在瀏覽器中把 index.html 換成 dashboard.xm 能看到很多詳細(xì)數(shù)據(jù)! (這 個需要查看者熟悉 XSLT 最好如圖 3注意:我有一個想法,因為 Junit Factory 是可以和 ant 一起協(xié)作的,我覺得可以利用每日構(gòu)建系統(tǒng) Build System ,把 Junit 與 Build System 結(jié)合,獨立成為一個服務(wù)器。下班時開發(fā)人員將當(dāng)天 開發(fā)代碼提交到 SVN 的 test 分支下, 由 Build System在夜間 download SVN服務(wù)器上的代碼, 并 且利用 Junit Factory生成 Junit TestCase, 并且執(zhí)行測試, 這樣第二天早晨開發(fā)人員就可以看到 前一天代碼的測試結(jié)果和分析報告,知道測試用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四塔吊設(shè)備購置與銷售專項合同范本3篇
- 二零二四年家電銷售顧問聘用與售后服務(wù)合同3篇
- 二零二五版出租車承包合同綠色出行推廣合作2篇
- 二零二五版豪華度假酒店承包經(jīng)營合同規(guī)范范本3篇
- 二零二五版公益勞動服務(wù)基地共建與社區(qū)公共服務(wù)拓展合同3篇
- 年度營養(yǎng)型輸液競爭策略分析報告
- 年度智能兒童成長儀市場分析及競爭策略分析報告
- 2024年鋼材交易:居間代理全套合同
- 二零二五版水利工程承包居間代理服務(wù)合同2篇
- 2025年變壓器智能化升級采購及技術(shù)支持合同3篇
- 安徽省合肥市包河區(qū)2023-2024學(xué)年九年級上學(xué)期期末化學(xué)試題
- 《酸堿罐區(qū)設(shè)計規(guī)范》編制說明
- PMC主管年終總結(jié)報告
- 售樓部保安管理培訓(xùn)
- 倉儲培訓(xùn)課件模板
- 2025屆高考地理一輪復(fù)習(xí)第七講水循環(huán)與洋流自主練含解析
- GB/T 44914-2024和田玉分級
- 2024年度企業(yè)入駐跨境電商孵化基地合作協(xié)議3篇
- 《形勢與政策》課程標(biāo)準(zhǔn)
- 2023年海南省公務(wù)員錄用考試《行測》真題卷及答案解析
- 橋梁監(jiān)測監(jiān)控實施方案
評論
0/150
提交評論