在本節中,我們將介紹一些斷言方法。所有這些方法都受到 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.zaixian.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);
}
}
在以上類中我們可以看到,這些斷言方法是可以工作的。
- assertEquals() 如果比較的兩個對象是相等的,此方法將正常返回;否則失敗顯示在JUnit的窗口測試將中止。
- assertSame() 和 assertNotSame() 方法測試兩個對象引用指向完全相同的對象。
- assertNull() 和 assertNotNull() 方法測試一個變數是否為空或不為空(null)。
- assertTrue() 和 assertFalse() 方法測試if條件或變數是true還是false。
- assertArrayEquals() 將比較兩個數組,如果它們相等,則該方法將繼續進行不會發出錯誤。否則失敗將顯示在JUnit窗口和中止測試。
上一篇:
JUnit注解
下一篇:
使用Eclipse的JUnit實例
