Junit4中怎樣隨心所欲的執行Test 一

2021-07-11 01:15:51 字數 1457 閱讀 7080

前言:使用junit4.4進行介面測試時,用來組織測試用例的測試類,我們稱之為「testcase」。testcase中的每個測試用例用@test來標記,在這裡我們稱測試用例為「test」。在eclipse中,使用junit4.4來編寫介面測試用例,可以單獨執行乙個test,也可以批量執行指定testcase中的所有test。現因業務需要,我們需要在服務端公升級到現網後,挑選一些基礎用例來確認現網環境的正確性。因此我們只希望執行testcase中指定的test,而不是全部的test,此時需要對junit進行擴充套件。

在junit4中,執行指定testcase中的所有test,只需要在eclipse中簡單的寫上以下幾行**,就ok啦。只需要將待執行的testcase類名新增到suiteclasses中(eg:藍色部分),junit會自動為這些testcase建立乙個預設的testsuite,再由junit中的testrunner來執行這些testsuite。預設的testsuite中包含所有的test,所以所有的test都會被執行。

}如果我們不想執行所有的test,要麼為每個testcase提供乙個自定義的testsuite,要麼對預設testsuite中的test進行過濾。前一種方法需要修改每個testcase的**,並有一定的侵入性,所以後一種方法更好。經過檢視junit4.4的api,發現junit4提供了乙個抽象類:filter(過濾器),擴充套件這個類就可以過濾出缺省testsuite中應該執行的test。實現方法如下:

1.       先寫乙個類繼承filter,通過使用者告知的test名稱來過濾出對應的test,**如下:

public classbasetestfilterextendsfilter

@override

publicstring describe()

@override

public booleanshouldrun(description arg0)

return false;}}

2.      再寫乙個類,來執行過濾後的testsuite,**如下:

public classbasetestsuites

returnsuite;

}public static voidmain(string args)throwsexception

//待執行的testcase

private staticclass testclasses = ;

//與上述testcase對應一一對應,待執行的test方法名。

private staticstring testnames = ;

}

Junit4學習(五)Junit4測試套件

一,背景 1,隨著開發規模的深入和擴大,專案或越來越大,相應的我們的測試類也會越來越多 那麼就帶來乙個問題,假如測試類很多,就需要多次執行,造成測試的成本增加 此時就可以使用junit批量執行測試類的功能,junit test suite,測試套件 每次執行測試類,只需要執行一次測試套件類就可以執行...

JUnit4常用注釋

常用注釋 解釋 test 定義乙個要測試的方法 before 在每乙個測試之前,都會被執行的方法,這個方法常常被用來進行一些測試環境的初始化 after 與 before進行對應,在測試結束後,做一些清理工作 beforeclass 在所有測試開始之前執行,這個方法在類執行的時候執行,而且只會執行一...

junit4常用註解

test 將乙個普通的方法修飾成乙個測試方法 test expected exception.class 若測試時改方法丟擲 exception異常則測試成功 test timeout 毫秒 超出該時間則停止執行 beforeclass 它會在該測試類的所有方法執行前執行,static修飾,只執行一...