建議用JUNIT創(chuàng)建測(cè)試類(lèi)
發(fā)表時(shí)間:2024-06-18 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]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