Java測試工具JUnit 1

2021-05-23 08:13:33 字數 1177 閱讀 2052

public abstract class testcase implements test

因為我們期望可以通過繼承來對該類進行重用,我們將其宣告為「public abstract」。暫時忽略其實現介面test的事實。鑑於當前設計的需要,你可以將testcase看作是乙個孤立的類。

每乙個testcase在建立時都要有乙個名稱,因此若乙個測試失敗了,你便可識別出失敗的是哪個測試。

public abstract class testcase implements test  

public abstract void run(); … }

圖1 testcase應用command

3.2 空白填充-run()

接下來要解決的問題是給開發者乙個便捷的「地方」,用於放置他們的夾具**和測試**。將testcase宣告為abstract是指開發者希望通過子類化(subclassing)來對testcase進行重用。然而,如果我們所有能作的就是提供乙個只有乙個變數且沒有行為的超類,那麼將無法做太多的工作來滿足我們的首個目標-使測試更易於編寫。

幸運的是,所有測試都具有乙個共同的結構-建立乙個測試夾具,在夾具上執行一些**,檢查結果,然後清理夾具。這意味著每乙個測試將與乙個新的夾具一起執行,並且乙個測試的結果不會影響到其它測試的結果。這支援測試價值最大化的目標。

template method(模板方法)比較好地涉及到我們的問題。摘引其意圖,「定義乙個操作中演算法的骨架,並將一些步驟延遲到子類中。template method使得子類能夠不改變乙個演算法的結構便可重新定義該演算法的某些特定步驟。」這完全恰當。我們就是想讓開發者能夠分別來考慮如何編寫夾具(建立和拆卸)**,以及如何編寫測試**。不管怎樣,這種執行的次序對於所有測試都將保持相同,而不管夾具**如何編寫,或測試**如何編寫。

template method如下:

public void run()

這些方法被預設實現為「什麼都不做」:

protected void runtest()  

protected void setup()  

protected void teardown()

由於setup和teardown會被用來重寫(override),而且其將由框架來進行呼叫,因此我們將其宣告為protected。我們的第二個快照如圖2所示。

圖2 testcase.run()應用template method

學習 測試工具JUnit

寫了個類,要給別人用,會不會有bug?怎麼辦?測試一下。用main方法測試好不好?不好!1 不能一起測試!很多個類就需要很多main方法 2 大多數情況下需要人為的觀察輸出確定是否正確 太累啦 使用junit 1 只要執行junit test,就可以同時測試多個方法,main是無法辦到的 2 只要看...

Junit單元測試工具

1.1作用 junit單元單元測試測試,主要用於對程式進行專業化測試package a junit import org.junit.assert import org.junit.test public class test junit 使用junit專業的判定結果的方法 assert類,斷言類 ...

java測試工具

1.新增lib 右擊專案 build path add libraries junit next junit4 finish 2.導包import org.junit.test 3.例 public class test 4.在junit之前執行 before public void beforej...