引入包,以下兩種方式都是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 : ...