各種Assert

剛開始學寫程式的人會直接用System.out.println將資料印出來看對不對, 以下是一個簡單的範例,測試testString是否與"test","tes"相等,另外也測試nullTest是否為null

不用Assert做測試

public class AssertTest {
    private String nullTest;
    private String testString = "test";
    @Test
    public void beforeAssert(){
        System.out.print("字串testString == test >>>  ");
        System.out.println(testString == "test");
        System.out.print("字串testString == tes >>>  ");
        System.out.println(testString == "tes");
        System.out.print("字串nullTest == null >>>  ");
        System.out.println(nullTest == null);
    }
}

執行結果

字串testString == test >>>  true
字串testString == tes >>>  false
字串nullTest == null >>>  true

使用Assert做測試

使用System.out.println麻煩的地方就是我們要用眼睛自己比對資料是否正確, 在JUnit中提供很多的Assert可以進行測試,下面的範例是使用assertEquals來比對兩個值是否相等, 使用assertNull來判斷物件是否為空值。

public class AssertTest {
    private String nullTest;
    private String testString = "test";
    @Test
    public void useAssert(){
        Assert.assertEquals("test",testString);
        Assert.assertEquals("tes",testString);
        Assert.assertNull(nullTest);        
    }
}

執行結果

測試成功

JUnit Assert Test Success

測試失敗

如果測試條件不成立,例如說上面的 testString 並不等於 "tes", 就會在測試結果出現紅bar,並且會說明是哪一個Assert不成立 JUnit Assert Test Fail

results matching ""

    No results matching ""