您好,登錄后才能下訂單哦!
什么是單元測試
寫了個類,要給別人用,會不會有bug?怎么辦?測試一下。
用main方法測試好不好?不好!
不能一起運行!
大多數情況下需要人為的觀察輸出確定是否正確
為什么要進行單元測試
重用測試,應付將來的實現的變化。
提高士氣,明確知道我的東西是沒問題的。
JUnit4 HelloWorld
需要導入JUnit和hamcrest包
new project
建立類
建立testcase
assertThat
使用hamcrest的匹配方法
放棄舊的斷言,使用hamcrest斷言
a)
assertThat( n, allOf( greaterThan(1), lessThan(15) ) );
assertThat( n, anyOf( greaterThan(16), lessThan(8) ) );
assertThat( n, anything() );
assertThat( str, is( "bjsxt" ) );
assertThat( str, not( "bjxxt" ) );
b)
assertThat( str, containsString( "bjsxt" ) );
assertThat( str, endsWith("bjsxt" ) );
assertThat( str, startsWith( "bjsxt" ) );
assertThat( n, equalTo( nExpected ) );
assertThat( str, equalToIgnoringCase( "bjsxt" ) );
assertThat( str, equalToIgnoringWhiteSpace( "bjsxt" ) );
c)
assertThat( d, closeTo( 3.0, 0.3 ) );
assertThat( d, greaterThan(3.0) );
assertThat( d, lessThan (10.0) );
assertThat( d, greaterThanOrEqualTo (5.0) );
assertThat( d, lessThanOrEqualTo (16.0) );
d)
assertThat( map, hasEntry( "bjsxt", "bjsxt" ) );
assertThat( iterable, hasItem ( "bjsxt" ) );
assertThat( map, hasKey ( "bjsxt" ) );
assertThat( map, hasValue ( "bjsxt" ) );
Failure和Error
Failure是指測試失敗
Error是指測試程序本身出錯
JUnit4 Annotation
@Test: 測試方法
a) (expected=XXException.class)
b) (timeout=xxx)
2.@Ignore: 被忽略的測試方法
3.@Before: 每一個測試方法之前運行
4.@After: 每一個測試方法之后運行
5.@BeforeClass: 所有測試開始之前運行
6.@AfterClass: 所有測試結束之后運行
運行多個測試
注意
遵守約定,比如:
a) 類放在test包中
b) 類名用XXXTest結尾
c) 方法用testMethod命名
其他框架
TestNG
以上這篇JUnit單元測試入門必看篇就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。