各種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);
}
}
執行結果
測試成功
測試失敗
如果測試條件不成立,例如說上面的 testString 並不等於 "tes",
就會在測試結果出現紅bar,並且會說明是哪一個Assert不成立