org.junit.Assert

引入包,以下兩種方式都是OK的,看個人喜好,我傾向于使用第二種,會更加清晰直觀。下面的代碼我都會用第二種

import static org.junit.Assert.*;
import org.junit.Assert;

Assert是斷言的意思,我更喜歡理解為"猜測",比斷言要順口和通俗。如果猜測錯誤,則拋出java.lang.AssertionError異常

1 - Assert.fail()
讓測試直接出錯,拋出 AssertionError 。
2 - Assert.fail(String message)
讓測試直接出錯,并在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
3 - Assert.assertNull(Object object)
猜測 object 為 null,如果不為 null ,拋出 AssertionError 。
4 - Assert.assertNull(String message, Object object)
猜測 object 為 null。
如果不為 null ,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
5 - Assert.assertNotNull(Object object)
猜測 object 不為 null,如果為 null ,拋出 AssertionError 。
6 - Assert.assertNotNull(String message, Object object)
猜測 object 不為 null。
如果為 null ,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
7 - Assert.assertSame(Object expected, Object actual)
猜測 expected 對象和 actual 對象引用的是同一個對象。
如果不同,拋出 AssertionError 。
8 - Assert.assertSame(String message, Object expected, Object actual)
猜測 expected 對象和 actual 對象引用的是同一個對象。
如果不同,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
9 - Assert.assertNotSame(Object expected, Object actual)
猜測 expected 對象和 actual 對象引用不同的對象。
如果相同,拋出 AssertionError 。
10 - Assert.assertNotSame(String message, Object expected, Object actual)
猜測 expected 對象和 actual 對象引用不同的對象。
如果相同,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
11 - Assert.assertTrue(boolean condition)
猜測 condition 為 true 。
如果為 false ,拋出 AssertionError 。
12 - Assert.assertTrue(String message, boolean condition)
猜測 condiiton 為 true 。
如果為 false , 在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
13 - Assert.assertFalse(boolean condition)
猜測 condition 為 false 。
如果為 true , 拋出 AssertionError 。
14 - Assert.assertFalse(String message, boolean condition)
猜測 condiiton 為 false 。
如果為 true , 在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
15 - Assert.assertEquals(long expected, long actual)
猜測兩個 long 類型 expected 和 actual 的值相等。
如果不相等,拋出 AssertionError 。
16 - Assert.assertEquals(String message, long expected, long actual)
猜測兩個 long 類型 expected 和 actual 的值相等。
如果不相等,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
17 - Assert.assertNotEquals(long unexpected, long actual)
猜測兩個 long 類型 unexpected 和 actual 的值不相等。
如果相等,拋出 AssertionError 。
18 - Assert.assertNotEquals(String message, long unexpected, long actual)
猜測兩個 long 類型 expected 和 actual 的值不相等。
如果相等,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
19 - Assert.assertEquals(Object expected, Object actual)
猜測兩個對象相等。
如果不相等,拋出 AssertionError 。
20 - Assert.assertEquals(String message, Object expected, Object actual)
猜測兩個對象相等。
如果不相等,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。

注 ---- assertSame()和assertEquals()的區別見參考文章:
JUnit中assertEquals和assertSame方法的不同

21 - Assert.assertNotEquals(Object unexpected, Object actual)
猜測兩個對象不相等。
如果相等,拋出 AssertionError 。
22 - Assert.assertNotEquals(String message, Object unexpected, Object actual)
猜測兩個對象不相等。
如果相等,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。

注 ---- assertNotSame()和assertNotEquals()的區別與上面 19- 和 20- 的區別類似。

23 - Assert.assertEquals(float expected, float actual, float delta)
猜測兩個 float 類型 expect 和 actual 在 delta 偏差值下相等
如果不相等,拋出 AssertionError 。

//例1
Assert.assertEquals(1.1, 1.3, 0.2)    //Pass
//例2
Assert.assertEquals(1.3, 1.1, 0.2)    //Pass
//例3
Assert.assertEquals(1.1, 1.3, 0.1)    //AssertionError
//例4
Assert.assertEquals(1.3, 1.1, 0.1)    //AssertionError
24 - Assert.assertEquals(String message, float expected, float actual, float delta)
猜測兩個 float 類型 expect 和 actual 在 delta 偏差值下相等
如果不相等,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。

//例1
Assert.assertEquals("Not equal !",1.1, 1.3, 0.2)    //Pass
//例2
Assert.assertEquals("Not equal !",1.3, 1.1, 0.2)    //Pass
//例3
Assert.assertEquals("Not equal !",1.1, 1.3, 0.1)    //AssertionError : Not equal !
//例4
Assert.assertEquals("Not equal !",1.3, 1.1, 0.1)    //AssertionError : Not equal !
25 - Assert.assertNotEquals(float unexpected, float actual, float delta)
猜測兩個 float 類型 unexpected 和 actual 在 delta 偏差值下不相等
如果相等,拋出 AssertionError 。

//例1
Assert.assertNotEquals(1.1, 1.3, 0.1)    //Pass
//例2
Assert.assertNotEquals(1.3, 1.1, 0.1)    //Pass
//例3
Assert.assertNotEquals(1.1, 1.3, 0.2)    //AssertionError
//例4
Assert.assertNotEquals(1.3, 1.1, 0.2)    //AssertionError
26 - Assert.assertNotEquals(String message, float unexpected, float actual, float delta)
猜測兩個 float 類型 expect 和 actual 在 delta 偏差值下不相等
如果相等,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。

//例1
Assert.assertNotEquals("Equal !",1.1, 1.3, 0.1)    //Pass
//例2
Assert.assertNotEquals("Equal !",1.3, 1.1, 0.1)    //Pass
//例3
Assert.assertNotEquals("Equal !",1.1, 1.3, 0.2)    //AssertionError : Equal !
//例4
Assert.assertNotEquals("Equal !",1.3, 1.1, 0.2)    //AssertionError : Equal !
27 - Assert.assertEquals(long expected, long actual, long delta)
猜測兩個 long 類型 expected 和 actual 在 delta 偏差值下相等
如果不相等,拋出 AssertionError 。
28 - Assert.assertEquals(String message, long expected, long actual, long delta)
猜測兩個 long 類型 expect 和 actual 在 delta 偏差值下相等
如果不相等,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
29 - Assert.assertNotEquals(long unexpected, long actual, long delta)
猜測兩個 long 類型 unexpected 和 actual 在 delta 偏差值下不相等
如果相等,拋出 AssertionError 。
30 - Assert.assertNotEquals(String message, long unexpected, long actual, long delta)
猜測兩個 long 類型 expect 和 actual 在 delta 偏差值下不相等
如果相等,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。
31~37 - Assert.assertArrayEquals(T[] expected, T[] actual)
猜測兩個相同類型的數組的元素一一對應相等。
如果不相等,拋出 AssertionError 。

T 支持的類型有 int、byte、char、long、short、boolean、Object
38~44 - Assert.assertArrayEquals(String message, T[] expected, T[] actual)
猜測兩個相同類型的數組的元素一一對應相等。
如果不相等,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。

T 支持的類型有 int、byte、char、long、short、boolean、Object
44~45 - Assert.assertArrayEquals(T[] expected, T[] actual, T delta)
猜測兩個相同類型的數組的元素,在 delte 偏差值下一一對應相等。
如果不相等,拋出 AssertionError 。

T 支持的類型有 float、double
46~47 - Assert.assertArrayEquals(String message, T[] expected, T[] actual, T delta)
猜測兩個相同類型的數組的元素,在 delte 偏差值下一一對應相等。
如果不相等,在拋出 AssertionError 時輸出 message 作為錯誤提示信息。

T 支持的類型有 float、double
48 - Assert.assertThat(T actual, Matcher<? super T> matcher)
猜測 actual 的值符合規則 matcher。
如果不符合,拋出 AssertionError 。

//例1
Assert.assertThat(1, is(1));               //Pass
//例2
Assert.assertThat(1, greaterThan(0));      //Pass
//例3
Assert.assertThat(1, is(0));               //AssertionError
//例4
Assert.assertThat(1, greaterThan(1));      //AssertionError

注:Matcher 十分靈活,需要引入包import static org.hamcrest.Matchers.*;,更多使用可參考文檔: org.hamcrest.Matchers

49 - Assert.assertThat(String reason, T actual, Matcher<? super T> matcher)
猜測 actual 的值符合規則 matcher。
如果不符合,在拋出 AssertionError 時輸出 reason 作為錯誤提示信息。

//例1
Assert.assertThat("not match reason: ...", 1, is(1));          //Pass
//例2
Assert.assertThat("not match reason: ...",1, greaterThan(0));  //Pass
//例3
Assert.assertThat("not match reason: ...",1, is(0));           //AssertionError : not match reason : ...
//例4
Assert.assertThat("not match reason: ...",1, greaterThan(1));  //AssertionError : not match reason : ...
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,406評論 6 538
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,034評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,413評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,449評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,165評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,559評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,606評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,781評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,327評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,084評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,278評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,849評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,495評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,927評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,172評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,010評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,241評論 2 375