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()的區(qū)別見參考文章:
JUnit中assertEquals和assertSame方法的不同

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

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

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)
猜測兩個相同類型的數(shù)組的元素一一對應相等雷蹂。
如果不相等伟端,拋出 AssertionError 。

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

T 支持的類型有 int吗购、byte医男、char、long捻勉、short镀梭、boolean、Object
44~45 - Assert.assertArrayEquals(T[] expected, T[] actual, T delta)
猜測兩個相同類型的數(shù)組的元素踱启,在 delte 偏差值下一一對應相等丰辣。
如果不相等,拋出 AssertionError 禽捆。

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

T 支持的類型有 float浊服、double
48 - Assert.assertThat(T actual, Matcher<? super T> matcher)
猜測 actual 的值符合規(guī)則 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 的值符合規(guī)則 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 : ...
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市膜宋,隨后出現(xiàn)的幾起案子窿侈,更是在濱河造成了極大的恐慌,老刑警劉巖秋茫,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件史简,死亡現(xiàn)場離奇詭異,居然都是意外死亡肛著,警方通過查閱死者的電腦和手機圆兵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枢贿,“玉大人殉农,你說我怎么就攤上這事∪荆” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵火本,是天一觀的道長危队。 經(jīng)常有香客問我,道長钙畔,這世上最難降的妖魔是什么茫陆? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮擎析,結(jié)果婚禮上簿盅,老公的妹妹穿的比我還像新娘。我一直安慰自己揍魂,他們只是感情好桨醋,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著现斋,像睡著了一般喜最。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上庄蹋,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天瞬内,我揣著相機與錄音迷雪,去河邊找鬼。 笑死虫蝶,一個胖子當著我的面吹牛章咧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播能真,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼赁严,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了舟陆?” 一聲冷哼從身側(cè)響起误澳,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秦躯,沒想到半個月后忆谓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡踱承,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年倡缠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茎活。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡昙沦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出载荔,到底是詐尸還是另有隱情盾饮,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布懒熙,位于F島的核電站丘损,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏工扎。R本人自食惡果不足惜徘钥,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肢娘。 院中可真熱鬧呈础,春花似錦、人聲如沸橱健。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拘荡。三九已至笨忌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背官疲。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工袱结, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人途凫。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓垢夹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親维费。 傳聞我的和親對象是個殘疾皇子果元,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354