?? junit入門.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0047)http://www.tot.name/show/3/7/20060120095928.htm -->
<HTML lang=zh-CN xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>JUnit入門-----淘特網(http://www.tot.name)</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META http-equiv=Content-Language content=zh-CN>
<META content=JUnit入門--淘特網(http://www.tot.name) name=description>
<META content=JUnit入門--淘特網(http://www.tot.name) name=keywords><LINK
href="JUnit入門_files/cs.css" type=text/css rel=stylesheet>
<SCRIPT language=javascript src="JUnit入門_files/runcode.js"></SCRIPT>
<META content="MSHTML 6.00.3790.4275" name=GENERATOR></HEAD>
<BODY><!----------------開始導航部分------------------------>
<DIV id=globalNav>
<SCRIPT language=javascript src="JUnit入門_files/head.js"></SCRIPT>
</DIV><!----------------開始導航下面部分------------------------>
<DIV id=container>
<DIV class=mainbg><!----------------開始導航下面左面部分------------------------>
<DIV id=left>
<SCRIPT src="JUnit入門_files/left.js"></SCRIPT>
<DIV class=clear></DIV></DIV><!----------------開始導航下面右面部分------------------------>
<DIV id=right>
<DIV class=content>現在位置:<A href="http://www.tot.name/">首頁</A>-><A
href="http://www.tot.name/show/3/">技術中心</A>-><A
href="http://www.tot.name/show/3/7/index_1.htm">JAVA</A></DIV>
<DIV class=content_center><B style="FONT-SIZE: 14px">JUnit入門</B></DIV><!--文章標題-->
<DIV class=content_center2>作者:zc_218 日期: 2006-1-20 9:59:28 訪問次數:<IFRAME
marginWidth=0 marginHeight=0 src="JUnit入門_files/CAGLQZUB.htm" frameBorder=0
width=30 scrolling=no height=10></IFRAME>出處:</DIV>
<DIV class=content_bg> 顯示選項:
<SCRIPT language=JavaScript src="JUnit入門_files/charstyle.js"></SCRIPT>
<SCRIPT language=JavaScript src="JUnit入門_files/charcode.js"></SCRIPT>
<INPUT onclick="Action('scroller();')" type=checkbox value=on
name=auto>自動滾屏[左鍵停止]</DIV>
<DIV class=content_detail id=setcolor>
<SCRIPT src="JUnit入門_files/ad_atl_top.js" type=text/javascript></SCRIPT>
JUnit入門 <BR>作者:佚名 來自:未知 <BR> 一、簡介<BR><BR> JUnit是一個開源的java單元測試框架。在1997年,由 Erich Gamma 和 Kent Beck 開發完成。這兩個牛人中 Erich Gamma 是 GOF 之一;Kent Beck 則在 XP 中有重要的貢獻(你覺得眼熟一點都不奇怪)。<BR> 正如常言道:“麻雀雖小,五臟俱全。” JUnit設計的非常小巧,但是功能卻非常強大。<BR> 下面是JUnit一些特性的總結:<BR> 1) 提供的API可以讓你寫出測試結果明確的可重用單元測試用例<BR> 2) 提供了三種方式來顯示你的測試結果,而且還可以擴展<BR> 3) 提供了單元測試用例成批運行的功能<BR> 4) 超輕量級而且使用簡單,沒有商業性的欺騙和無用的向導<BR> 5) 整個框架設計良好,易擴展 <BR> 對不同性質的被測對象,如Class,Jsp,Servlet,Ejb等,Junit有不同的使用技巧。由于本文的性質,以下僅以Class測試為例。<BR><BR> 二、下載<BR><BR> 點擊<A
href="http://www.junit.org/"><FONT
color=#0000ff>http://www.junit.org</FONT></A>可以下載到最新版本的JUnit,本文使用的為3.8.1版。至于安裝或者配置之類,你只需要輕松的將下載下來的壓縮包中的jar文件,放到你工程的classpath中就可以了。<BR> 這樣,你的系統中就可以使用JUnit編寫單元測試代碼了(是不是很簡單)!<BR><BR> 三、HelloWorld<BR><BR> 記得在幾乎每本語言教學書上都能找到HelloWorld這個入門代碼。今天在這里,我們也從一個簡單到根本不用單元測試的例子入手。這是一個只會做兩數加減的超級簡單的計算器(小學一年級必備極品)。代碼如下:<BR><BR>public class SampleCalculator<BR>{<BR> public int add(int augend , int addend)<BR> {<BR> return augend + addend ;<BR> }<BR><BR> public int subtration(int minuend , int subtrahend)<BR><BR> {<BR><BR> return minuend - subtrahend ;<BR><BR> }<BR><BR>}<BR><BR> 將上面的代碼編譯通過。下面就是我為上面程序寫的一個單元測試用例:<BR><BR>//請注意這個程序里面類名和方法名的特征<BR>import junit.framework.TestCase;<BR>public class TestSample extends TestCase<BR><BR>{<BR><BR> public void testAdd()<BR><BR> { <BR><BR>SampleCalculator calculator = new SampleCalculator(); <BR><BR> int result = calculator.add(50 , 20);<BR><BR> assertEquals(70 , result);<BR><BR> }<BR><BR> public void testSubtration()<BR><BR> {<BR><BR> SampleCalculator calculator = new SampleCalculator();<BR><BR> int result = calculator.subtration(50 , 20);<BR><BR> assertEquals(30 , result);<BR><BR> }<BR><BR>}<BR><BR> 好了,在DOS命令行里面輸入javac TestSample.java 將測試類編譯通過。然后再輸入 java junit.swingui.TestRunner TestSample 運行測試類,你會看到如下的窗口。 <BR><BR> 綠色說明單元測試通過,沒有錯誤產生;如果是紅色的,則就是說測試失敗了。這樣一個簡單的單元測試就完成了.<BR><BR> 按照框架規定:編寫的所有測試類,必須繼承自junit.framework.TestCase類;里面的測試方法,命名應該以Test開頭,必須是public void 而且不能有參數;而且為了測試查錯方便,盡量一個TestXXX方法對一個功能單一的方法進行測試;使用assertEquals等junit.framework.TestCase中的斷言方法來判斷測試結果正確與否。<BR><BR> 你可以對比著上面測試類中的實現來體會下規定??很簡單!而且你在這個測試類中有加入多少個測試方法,就會運行多少個測試方法。<BR><BR> 四、向前一步<BR><BR> 學完了HelloWorld,你已經可以編寫標準的單元測試用例了。但是還有一些細節,這里還要說明一下。不要急,很快的!<BR> 另外你是否注意到,上面彈出窗口的一個細節,在綠條下面有Errors、Failures統計。這兩者有何區別呢?<BR> Failures作為單元測試所期望發生的錯誤,它預示你的代碼有bug,不過也可能是你的單元測試代碼有邏輯錯誤(注意是邏輯錯誤)。Errors不是你所期待的,發生了Error你可以按照下面的順序來檢查:<BR><BR> 檢查測試所需的環境,如:數據庫連接<BR><BR> 檢查單元測試代碼<BR><BR> 檢查你的系統代碼<BR><BR> 五、成批運行test case<BR><BR> 這是前面提到的JUnit特性之一。它方便于系統單元測試的成批運行。使用起來也是非常簡單,先看下使用代碼:<BR><BR>import junit.framework.Test;<BR><BR>import junit.framework.TestSuite;<BR><BR>public class TestAll{<BR><BR> public static Test suite(){<BR><BR> TestSuite suite = new TestSuite("TestSuite Test");<BR><BR> suite.addTestSuite( TestSample.class);<BR><BR> return suite;<BR><BR> }<BR><BR>}<BR><BR> 這個測試程序的編譯、運行,和上面TestSample的方式是一樣的。<BR><BR> javac TestAll.java<BR><BR> java junit.swingui.TestRunner TestAll<BR><BR> 怎么樣?這樣你在suite方法里面添加幾個TestCase就會運行幾個,而且它也可以添加TestSuite來將小一點的集合加入大的集合中來,方便了對于不斷增加的TestCase的管理和維護。<BR><BR> 你覺得suite方法的作用是不是于java應用程序的main很類似?并且這里的suite必須嚴格遵守上面的寫法!<BR>
<SCRIPT src="JUnit入門_files/ad_atl.js" type=text/javascript></SCRIPT>
</DIV>
<DIV class=clear></DIV>
<DIV id=morelike>⊕相關文章</DIV>
<DIV id=morelikelist>
<UL>
<LI>·<A
href="http://www.tot.name/show/3/7/20060120095905.htm">使用動態代理實現用AOP對數據庫進行操作</A>
<LI>·<A
href="http://www.tot.name/show/3/7/20060120095829.htm">在Java中操作掃描儀(使用JNI)</A>
<LI>·<A
href="http://www.tot.name/show/3/7/20060120095745.htm">JDBC存取ORACLE大型數據對象LOB幾種情況的示范類</A>
<LI>·<A
href="http://www.tot.name/show/3/7/20060120090454.htm">Java中合并XML文檔的設計與實現</A>
<LI>·<A href="http://www.tot.name/show/3/7/20060120085248.htm">Java 5.0
多線程編程實踐</A>
<LI>·<A
href="http://www.tot.name/show/3/7/20060119084904.htm">全面分析Java的垃圾回收機制</A>
</LI></UL></DIV></DIV>
<DIV class=clear></DIV></DIV></DIV>
<DIV class=clear></DIV>
<DIV id=footer>
<SCRIPT src="JUnit入門_files/root.js"></SCRIPT>
</DIV>
<SCRIPT language=javascript>
document.write ("<img src='../../../js/stat.asp?id=3782&type=1' border='0' height='0' width='0'>");
</SCRIPT>
<SCRIPT src="JUnit入門_files/stat_index.js" type=text/javascript></SCRIPT>
</BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -