|
我們?cè)诰帉?xiě)大型程序的時(shí)候,需要寫(xiě)成千上萬(wàn)個(gè)方法或函數(shù),這些函數(shù)的功能可能很強(qiáng)大,但我們?cè)诔绦蛑兄挥玫皆摵瘮?shù)的一小部分功能,并且經(jīng)過(guò)調(diào)試可以確定,這一小部分功能是正確的。但是,我們同時(shí)應(yīng)該確保每一個(gè)函數(shù)都完全正確,因?yàn)槿绻覀兘窈笕绻麑?duì)程序進(jìn)行擴(kuò)展,用到了某個(gè)函數(shù)的其他功能,而這個(gè)功能有bug的話,那絕對(duì)是一件非常郁悶的事情。所以說(shuō),每編寫(xiě)完一個(gè)函數(shù)之后,都應(yīng)該對(duì)這個(gè)函數(shù)的方方面面進(jìn)行測(cè)試,這樣的測(cè)試我們稱之為單元測(cè)試。傳統(tǒng)的編程方式,進(jìn)行單元測(cè)試是一件很麻煩的事情,你要重新寫(xiě)另外一個(gè)程序,在該程序中調(diào)用你需要測(cè)試的方法,并且仔細(xì)觀察運(yùn)行結(jié)果,看看是否有錯(cuò)。正因?yàn)槿绱寺闊?,所以程序員們編寫(xiě)單元測(cè)試的熱情不是很高。于是有一個(gè)牛人推出了單元測(cè)試包,大大簡(jiǎn)化了進(jìn)行單元測(cè)試所要做的工作,這就是JUnit4。本文簡(jiǎn)要介紹一下在Eclipse3.2中使用JUnit4進(jìn)行單元測(cè)試的方法。 首先,我們來(lái)一個(gè)傻瓜式速成教程,不要問(wèn)為什么,F(xiàn)ollow Me,先來(lái)體驗(yàn)一下單元測(cè)試的快感! 首先新建一個(gè)項(xiàng)目叫JUnit_Test,我們編寫(xiě)一個(gè)Calculator類,這是一個(gè)能夠簡(jiǎn)單實(shí)現(xiàn)加減乘除、平方、開(kāi)方的計(jì)算器類,然后對(duì)這些功能進(jìn)行單元測(cè)試。這個(gè)類并不是很完美,我們故意保留了一些Bug用于演示,這些Bug在注釋中都有說(shuō)明。該類代碼如下:
public class Calculator ...{ 第二步,將JUnit4單元測(cè)試包引入這個(gè)項(xiàng)目:在該項(xiàng)目上點(diǎn)右鍵,點(diǎn)“屬性”,如圖:
在彈出的屬性窗口中,首先在左邊選擇“Java Build Path”,然后到右上選擇“Libraries”標(biāo)簽,之后在最右邊點(diǎn)擊“Add Library…”按鈕,如下圖所示: ![]()
第三步,生成JUnit測(cè)試框架:在Eclipse的Package Explorer中用右鍵點(diǎn)擊該類彈出菜單,選擇“New à JUnit Test Case”。如下圖所示:
之后系統(tǒng)會(huì)自動(dòng)生成一個(gè)新類CalculatorTest,里面包含一些空的測(cè)試用例。你只需要將這些測(cè)試用例稍作修改即可使用。完整的CalculatorTest代碼如下:
package andycpp; import static org.junit.Assert.*; public class CalculatorTest ...{ private static Calculator calculator = new Calculator(); @Test @Test @Ignore("Multiply() Not yet implemented") @Test
運(yùn)行結(jié)果如下:
進(jìn)度條是紅顏色表示發(fā)現(xiàn)錯(cuò)誤,具體的測(cè)試結(jié)果在進(jìn)度條上面有表示“共進(jìn)行了4個(gè)測(cè)試,其中1個(gè)測(cè)試被忽略,一個(gè)測(cè)試失敗”
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/andycpp/archive/2006/10/09/1327147.aspx |
|
|