java測試Junit框架

java測試框架Junit我也是初步接觸,這裏對一些用法進行簡單的說明。便於以後自己查閱

@Test

這個標籤主要用在要進行測試的方法上。廢話不多說,看代碼。

//File : Person.java
public class Person(){
    public void run(){
        System.out.println("run");
    }
}

//File : TestPerson.java
public class TestPerson{
    @Test
    public void testRun(){
        Person p = new person();
        p.run();
    }
}

代碼中用到了兩個類,一個是被測試類Person,一個是測試類TestPerson,在TestPerson中,有一個方法testRun用於測試Person類,在這個方法上加了一個@Test註解,此時就可以在eclipse中選擇Junit Test測試來運行,如果運行成功,那麼進度條時候綠色,否則是紅色。這樣就不用寫main方法來測試了,比較便利。

@Before和@After

這兩個標籤用於在測試標籤@Test註解的方法之前之後運行,沒運行一次@Test註解的方法,被這兩個註解的方法, 兩個就要運行一次。
看代碼,還是上面的兩個類,不過加了一些方法:

//File : Person.java
public class Person(){
    public void run(){
        System.out.println("run");
    }

    public void eat(){
        System.out.println("eat");
    }
}

//File : TestPerson.java
public class TestPerson{
    Person p = null;
    @Test
    public void testRun(){
        p.run();
    }

    @Test
    public void testEat(){
        p.eat();
    }

    @Before
    public void initialize(){
        System.out.println("initialize");
        p = new Person();
    }

    @After
    public void destory(){
        System.out.println("destory");
        p = null;
    }
}

上述代碼的運行結果是:

initialize
eat
destory
initialize
run
destory

可以看出,一共運行了帶有@Test註解的方法兩次,帶有@Before和@After的註解方法也運行了兩次。另外兩個註解@BeforeClass和@AfterClass 正好相反,不管有多少個@Test,他們只會運行一次。
這兩對註解都可以用來在測試時對資源的創建和銷燬。

Assert

斷言在MyEclipse中,被棄用了,我也不知道怎麼回事。那這裏我也就不多說了。
Assert(斷言)就是用來判定方法返回值與自己預期的是否符合。

//File : Person.java
public class Person(){
    public boolean run(){
        System.out.println("run");
    }

    public String eat(){
        System.out.println("eat");
    }
}

//File : TestPerson.java
public class TestPerson{
    Person p = null;
    @Test
    public void testRun(){
        p.run();
        /*這裏判斷run()方法返回的字符串是不是和字符串1相等
         *相等就成功執行,否則不能執行
        */
        Assert.assertEquals("1", p.run());
    }

    @Test
    public void testEat(){
        p.eat();
        /*這裏判斷eat返回的bool類型和給出的bool值false是否相等
        */相等就成功執行
        Assert.assertEquals(false, p.eat());
    }

    @Before
    public void initialize(){
        System.out.println("initialize");
        p = new Person();
    }

    @After
    public void destory(){
        System.out.println("destory");
        p = null;
    }
}

Assert還有許多的方法,使用都很簡單,大家可以去看API。

對於Junit就簡單這麼介紹了,我也是初學,如有錯誤,敬請勘正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章