學習 測試工具JUnit

2021-09-06 03:43:02 字數 2220 閱讀 1061

寫了個類,要給別人用,會不會有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測試是程式設計師測試,即白盒測試,因...