在本節中,我們將介紹一些斷言方法。所有這些方法都受到 Assert 類擴充套件了java.lang.Object類並為它們提供編寫測試,以便檢測故障。下表中有一種最常用的斷言方法的更詳細的解釋。
斷言 | 描述 |
---|---|
void assertEquals([String message], expected value, actual value) | 斷言兩個值相等。值可能是型別有 int, short, long, byte, char or java.lang.Object. 第一個引數是一個可選的字串訊息 |
void assertTrue([String message], boolean condition) | 斷言一個條件為真 |
void assertFalse([String message],boolean condition) | 斷言一個條件為假 |
void assertNotNull([String message], java.lang.Object object) | 斷言一個物件不為空(null) |
void assertNull([String message], java.lang.Object object) | 斷言一個物件為空(null) |
void assertSame([String message], java.lang.Object expected, java.lang.Object actual) | 斷言,兩個物件參照相同的物件 |
void assertNotSame([String message], java.lang.Object unexpected, java.lang.Object actual) | 斷言,兩個物件不是參照同一個物件 |
void assertArrayEquals([String message], expectedArray, resultArray) | 斷言預期陣列和結果陣列相等。陣列的型別可能是 int, long, short, char, byte or java.lang.Object. |
讓我們看的一些前述斷言的一個例子。
AssertionsTest.java
package com.yiibai.junit; import static org.junit.Assert.*; import org.junit.Test; public class AssertionsTest { @Test public void test() { String obj1 = "junit"; String obj2 = "junit"; String obj3 = "test"; String obj4 = "test"; String obj5 = null; int var1 = 1; int var2 = 2; int[] arithmetic1 = { 1, 2, 3 }; int[] arithmetic2 = { 1, 2, 3 }; assertEquals(obj1, obj2); assertSame(obj3, obj4); assertNotSame(obj2, obj4); assertNotNull(obj1); assertNull(obj5); assertTrue(var1 var2); assertArrayEquals(arithmetic1, arithmetic2); } }
在以上類中我們可以看到,這些斷言方法是可以工作的。