您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
用Junit建立測試類
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/1/18 14:08:56 ] 推薦標簽:

JUNIT Getting Started

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

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

HelloWorld:

在junit3.5下(或者其他地方)建立一個工作目錄mypro,然后建立項目目錄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());
    }
}

編譯,運行.

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

package mypro.hello;

//import mypro.hello.*;         推薦測試類和原來的被測試類(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);                                          //當結(jié)果是-1時,assert將報錯
        assertEquals("Hello World",world.sayHello());
        }
}


HelloWorldTest繼承了TestCase類,寫法固定,main可以不要.
主要是testSayHello()實現(xiàn)了對SayHello方法的測試.

Assert,的參數(shù)是-1時junit會報錯,assertEquals的參數(shù)不匹配時,junit會報錯.詳見JUNIT的API文檔.
編譯后,可以java HelloWorldTest來得到結(jié)果   //因為有main
更經(jīng)常的運行方式: java  junit.swingui.TestRunner  mypro.hello.HelloWorldTest   //圖形界面
                             java junit.textui.TestRunner mypro.hello.HelloWorldTest           //字符界面


制造一個錯誤:
把HelloWorld里的return “Hello World” 改成return “Hell0 World”
編譯后

運行測試,看到結(jié)果報告錯誤.


更進一步執(zhí)行多個測試,一個測試成為Test Case,而一組Test Case構(gòu)成Test suite
看junit里money例子和AllTests.java文件.
   
注意事項:
   1.將測試類和被測試類放在同一個目錄里(即同包之內(nèi))將會是很方便的.
   2.命名規(guī)則:一般被測試類寫作XXXXTest,而其中的方法寫作testXXX

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