您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > junit
全面認(rèn)識(shí)JUnit 4的特征
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/4 15:58:25 ] 推薦標(biāo)簽:

一、引言

在本文開(kāi)始,我將假定,你已經(jīng)了解由Kent Beck和Erich Gamma發(fā)明的這個(gè)Java單元測(cè)試框架并因此而略過(guò)必要的簡(jiǎn)介。所以,我將集中分析從JUnit 3.8到新版本JUnit 4的遷移過(guò)程以及其在IDE和Ant中的集成。

JUnit 4是一種與其之前的版本完全不同的API,它根據(jù)Java 5.0中的新特征(注解,靜態(tài)導(dǎo)入等)構(gòu)建而成。如你所見(jiàn),JUnit 4更簡(jiǎn)單、更豐富和更易于使用,而且它引入了更為靈活的初始化和清理工作,還有的和參數(shù)化測(cè)試用例。

代碼實(shí)例能說(shuō)明問(wèn)題。因此,在本文中,我將使用一個(gè)例子來(lái)展示不同的測(cè)試用例:一個(gè)計(jì)算器。該示例計(jì)算器很簡(jiǎn)單,效率并不高,甚至還有一些錯(cuò)誤;它僅僅操作整數(shù),并且把結(jié)果存儲(chǔ)在一個(gè)靜態(tài)變量中。Substract方法并不返回一個(gè)有效的結(jié)果,而且也沒(méi)有實(shí)現(xiàn)乘法運(yùn)算,而且看上去在squareRoot方法中還存在一個(gè)錯(cuò)誤:無(wú)限循環(huán)。這些錯(cuò)誤將幫助說(shuō)明使用JUnit 4進(jìn)行測(cè)試的有效性。你可以打開(kāi)和關(guān)閉這個(gè)計(jì)算器,而且你可以清除這些結(jié)果。下面是其實(shí)現(xiàn)代碼:

package calc;

public class Calculator {

 private static int result; //存儲(chǔ)結(jié)果的靜態(tài)變量

 public void add(int n) {

result = result + n;

 }

 public void substract(int n) {

result = result - 1; //錯(cuò)誤:應(yīng)該是"result = result - n"

 }

 public void multiply(int n) {} //還沒(méi)實(shí)現(xiàn)

 public void divide(int n) {

result = result / n;

 }

 public void square(int n) {

result = n * n;

 }

 public void squareRoot(int n) {

for (; ;) ; //錯(cuò)誤:無(wú)限循環(huán)

 }

 public void clear() { //清除結(jié)果

result = 0;

 }

 public void switchOn() { //打開(kāi)屏幕,顯示"hello",并報(bào)警

result = 0; //實(shí)現(xiàn)其它的計(jì)算器功能

 }

 public void switchOff() { } //顯示"bye bye",報(bào)警,并關(guān)閉屏幕

 public int getResult() {
 

return result;

 }

}  

上一頁(yè)12345下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd