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

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)在寫測(cè)試類,來(lái)測(cè)試HelloWorld類里的sayHello方法
//在hello目錄里建立一個(gè)test目錄用來(lái)放測(cè)試類,其中有HelloWorldTest.java

package mypro.hello;

//import mypro.hello.*;         推薦測(cè)試類和原來(lái)的被測(cè)試類(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類,寫法固定,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)行方式: java  junit.swingui.TestRunner  mypro.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è)試成為Test Case,而一組Test Case構(gòu)成Test suite
看junit里money例子和AllTests.java文件.
   
注意事項(xiàng):
   1.將測(cè)試類和被測(cè)試類放在同一個(gè)目錄里(即同包之內(nèi))將會(huì)是很方便的.
   2.命名規(guī)則:一般被測(cè)試類寫作XXXXTest,而其中的方法寫作testXXX

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