寫了個類,要給別人用,會不會有bug?怎麼辦?測試一下。
用main方法測試好不好?不好!
1、不能一起測試!很多個類就需要很多main方法;
2、大多數情況下需要人為的觀察輸出確定是否正確;太累啦~
使用junit:
1、只要執行junit test,就可以同時測試多個方法,main是無法辦到的;
2、只要看測試條是否為green就可以知道被測試的類是否正確;
1、重用測試,應付將來的實現的變化。
2、提高士氣,明確知道我的東西是沒問題的。
3、確保程式的健壯性,減少後期維護的成本。
eclipse自帶junit包
1、new project;
2、建立類
3、建立testcase,可以指定要測試的類和方法
4、keep the bar green to keep the code clean.
5、靜態引入:引入的是乙個類,而不是包,可以直接使用類中的方法,不必加類名;
6、assert就是判斷的意思;
7、assertthat
8、使用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" ) );
1、failure是指測試失敗
2、error是指測試程式本身出錯
3、@test: 該方法是乙個測試方法,在執行測試類時會被執行;
a) (expected=xxexception.class) //期望丟擲異常
b) (timeout=***) //方法執行時間在***時間完成
1、@ignore: 被忽略的測試方法
2、@before:每乙個測試方法之前執行
3、@after:每乙個測試方法之後執行
4、@beforeclass: 所有測試開始之前執行;比如連線資料庫;
5、@afterclass: 所有測試結束之後執行;比如關閉資料庫;
tdd:test driven development測試驅動開發,先編寫測試類
遵守約定,比如:
a) 類放在test包中
b) 類名用***test結尾
c) 方法用testmethod命名
testng
Junit單元測試工具
1.1作用 junit單元單元測試測試,主要用於對程式進行專業化測試package a junit import org.junit.assert import org.junit.test public class test junit 使用junit專業的判定結果的方法 assert類,斷言類 ...
Java測試工具JUnit 1
public abstract class testcase implements test 因為我們期望可以通過繼承來對該類進行重用,我們將其宣告為 public abstract 暫時忽略其實現介面test的事實。鑑於當前設計的需要,你可以將testcase看作是乙個孤立的類。每乙個testca...
Eclipse除錯,以及JUnit測試工具用法
除錯 單步跳入 step info 進入 內部觀察,對應的快捷鍵是f5。單步跳過 step over 只觀察 的執行結果,對應的快捷鍵是f6。執行完畢 resume 整個 向後自動執行完畢,對應的快捷鍵是f8。目前沒有發現有多大用處。junit測試工具 junit測試是程式設計師測試,即白盒測試,因...