JUnit的各种断言
JUnit為我們提供了一些輔助函數,他們用來幫助我們確定被測試的方法是否按照預期的效果正常工作,通常,把這些輔助函數稱為斷言。下面我們來介紹一下JUnit的各種斷言。
斷言是編寫測試用例的核心實現方式,即期望值是多少,測試的結果是多少,以此來判斷測試是否通過。
斷言核心方法
assertArrayEquals(expecteds, actuals) 查看兩個數組是否相等。
assertEquals(expected, actual) 查看兩個對象是否相等。類似于字符串比較使用的equals()方法
assertNotEquals(first, second) 查看兩個對象是否不相等。
assertNull(object) 查看對象是否為空。
assertNotNull(object) 查看對象是否不為空。
assertSame(expected, actual) 查看兩個對象的引用是否相等。類似于使用“==”比較兩個對象
assertNotSame(unexpected, actual) 查看兩個對象的引用是否不相等。類似于使用“!=”比較兩個對象
assertTrue(condition) 查看運行結果是否為true。
assertFalse(condition) 查看運行結果是否為false。
assertThat(actual, matcher) 查看實際值是否滿足指定的條件
fail() 讓測試失敗
注解
@Before 初始化方法
@After 釋放資源
@Test 測試方法,在這里可以測試期望異常和超時時間
@Ignore 忽略的測試方法
@BeforeClass 針對所有測試,只執行一次,且必須為static void
@AfterClass 針對所有測試,只執行一次,且必須為static void
@RunWith 指定測試類使用某個運行器
@Parameters 指定測試類的測試數據集合
@Rule 允許靈活添加或重新定義測試類中的每個測試方法的行為
@FixMethodOrder 指定測試方法的執行順序
一個測試類單元測試的執行順序為:
@BeforeClass –> @Before –> @Test –> @After –> @AfterClass
每一個測試方法的調用順序為:
@Before –> @Test –> @After
1、assertEquals
函數原型1:assertEquals([String message],expected,actual)
參數說明:
??message是個可選的消息,假如提供,將會在發生錯誤時報告這個消息。
expected是期望值,通常都是用戶指定的內容。
? actual是被測試的代碼返回的實際值。
例:assertEquals("equals","1","1");
函數原型2:assertEquals([String message],expected,actual,tolerance)
參數說明:
? message是個可選的消息,假如提供,將會在發生錯誤時報告這個消息。
expected是期望值,通常都是用戶指定的內容。
actual是被測試的代碼返回的實際值。
tolerance是誤差參數,參加比較的兩個浮點數在這個誤差之內則會被認為是相等的。
例:assertEquals ("yes",5.8,11.0/2.0,0.5);
2、assertTrue
函數原型:assertTrue ([String message],Boolean condition)
參數說明:
????message是個可選的消息,假如提供,將會在發生錯誤時報告這個消息。
? ? ?condition是待驗證的布爾型值。
該斷言用來驗證給定的布爾型值是否為真,假如結果為假,則驗證失敗。當然,更有驗證為假的測試條件:
? ?函數原型:assertFalse([String message],Boolean condition)
? ? ? 該斷言用來驗證給定的布爾型值是否為假,假如結果為真,則驗證失敗。
? ? ? ?例: assertTrue("true",1==1);
? ? ? ? ? assertFalse("false",2==1);
3、assertNull
函數原型:assertNull([String message],Object object)
參數說明:
? ?message是個可選的消息,假如提供,將會在發生錯誤時報告這個消息。
object是待驗證的對象。
該斷言用來驗證給定的對象是否為null,假如不為null,則驗證失敗。相應地,還存在能夠驗證非null的斷言:
函數原型:assertNotNull([String message],Object object)
該斷言用來驗證給定的對象是否為非null,假如為null,則驗證失敗。
例:assertNull("null",null);
? ?assertNotNull("not null",new String());
4、assertSame
函數原型:assertSame ([String message], expected,actual)
參數說明:
? message是個可選的消息,假如提供,將會在發生錯誤時報告這個消息。
expected是期望值。
actual是被測試的代碼返回的實際值。
該斷言用來驗證expected參數和actual參數所引用的是否是同一個對象,假如不是,則驗證失敗。相應地,也存在驗證不是同一個對象的斷言:
函數原型:assertNotSame ([String message], expected,actual)
該斷言用來驗證expected參數和actual參數所引用的是否是不同對象,假如所引用的對象相同,則驗證失敗。
例:assertSame("same",2,4-2);
? ?assertNotSame("not same",2,4-3);
5、Fail
函數原型:Fail([String message])
參數說明:
? ?message是個可選的消息,假如提供,將會在發生錯誤時報告這個消息。
該斷言會使測試立即失敗,通常用在測試不能達到的分支上(如異常)。
轉載于:https://blog.51cto.com/zlfwmm/1761751
總結
以上是生活随笔為你收集整理的JUnit的各种断言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chrome插件会干坏事儿的
- 下一篇: Java中的Atomic包