明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

建議用JUNIT創(chuàng)建測(cè)試類(lèi)

[摘要]JUNIT Getting Started概念:關(guān)于JUNIT的概念可以參見(jiàn)Thinking in Java 2的第一章里的Extreme programming以junit3.5為例將classpath指向junit.jarHelloWorld:在junit3.5下(或者其他地方)建立一個(gè)工作目...
JUNIT Getting Started

概念:
關(guān)于JUNIT的概念可以參見(jiàn)Thinking in Java 2的第一章里的Extreme programming

以junit3.5為例
將classpath指向junit.jar

HelloWorld:

在junit3.5下(或者其他地方)建立一個(gè)工作目錄mypro,然后建立項(xiàng)目目錄hello
其中有文件:HelloWorld.java

package mypro.hello;

public class HelloWorld{
public String sayHello(){
return "Hello World";
}

public static void main(String[] args){
HelloWorld world=new HelloWorld();
System.out.println(world.sayHello());
}
}

編譯,運(yùn)行.

現(xiàn)在寫(xiě)測(cè)試類(lèi),來(lái)測(cè)試HelloWorld類(lèi)里的sayHello方法
//在hello目錄里建立一個(gè)test目錄用來(lái)放測(cè)試類(lèi),其中有HelloWorldTest.java

package mypro.hello;

//import mypro.hello.*; 推薦測(cè)試類(lèi)和原來(lái)的被測(cè)試類(lèi)(HelloWorld)同包
import junit.framework.*;

public class HelloWorldTest extends TestCase{
public HelloWorldTest(String name){
super(name);
}

public static void main(String args[]){
junit.textui.TestRunner.run(HelloWorldTest.class);
}

public void testSayHello(){
HelloWorld world=new HelloWorld();
assert(world!=null);//當(dāng)結(jié)果是-1時(shí),assert將報(bào)錯(cuò)
assertEquals("Hello World",world.sayHello());
}
}


HelloWorldTest繼承了TestCase類(lèi),寫(xiě)法固定,main可以不要.
主要是testSayHello()實(shí)現(xiàn)了對(duì)SayHello方法的測(cè)試.

Assert,的參數(shù)是-1時(shí)junit會(huì)報(bào)錯(cuò),assertEquals的參數(shù)不匹配時(shí),junit會(huì)報(bào)錯(cuò).詳見(jiàn)JUNIT的API文檔.
編譯后,可以java HelloWorldTest來(lái)得到結(jié)果 //因?yàn)橛衜ain
更經(jīng)常的運(yùn)行方式: javajunit.swingui.TestRunnermypro.hello.HelloWorldTest //圖形界面
 java junit.textui.TestRunner mypro.hello.HelloWorldTest //字符界面


制造一個(gè)錯(cuò)誤:
把HelloWorld里的return “Hello World” 改成return “Hell0 World”
編譯后

運(yùn)行測(cè)試,看到結(jié)果報(bào)告錯(cuò)誤.




更進(jìn)一步執(zhí)行多個(gè)測(cè)試,一個(gè)測(cè)試成為T(mén)est Case,而一組Test Case構(gòu)成Test suite
看junit里money例子和AllTests.java文件.

注意事項(xiàng):
 1.將測(cè)試類(lèi)和被測(cè)試類(lèi)放在同一個(gè)目錄里(即同包之內(nèi))將會(huì)是很方便的.
 2.命名規(guī)則:一般被測(cè)試類(lèi)寫(xiě)作XXXXTest,而其中的方法寫(xiě)作testXXX