junit測試方法執行順序

2021-09-30 14:46:10 字數 673 閱讀 7451

junit 4.11裡增加了指定測試方法執行順序的特性:

測試類的執行順序可通過對測試類新增註解 「@fixmethodorder(value)」 來指定,其中value 為執行順序;

三種執行順序可供選擇:

- 預設(methodsorters.default)

- 按方法名(methodsorters.name_ascending)

- jvm(methodsorters.jvm)

當沒有指定任何順序時,按預設來執行;

methodsorters.default

預設順序由方法名hashcode值來決定,如果hash值大小一致,則按名字的字典順序確定

methodsorters.name_ascending (推薦)

按方法名稱的進行排序,由於是按字元的字典順序,所以以這種方式指定執行順序會始終保持一致;

methodsorters.jvm

按jvm返回的方法名的順序執行,此種方式下測試方法的執行順序是不可**的,即每次執行的順序可能都不一樣(jdk7裡尤其如此)

junit裡是通過反射機制得到某個junit裡的所有測試方法,並生成乙個方法的陣列,然後依次執行陣列裡的這些測試方法;

而當用annotation指定了執行順序,junit在得到測試方法的陣列後,會根據指定的順序對陣列裡的方法進行排序;

Junit 測試執行順序

junit 單元測試中設定測試執行順序 junit中 的測試中,有些資料有依賴性,比如 註冊使用者後,才能執行編輯 操作之類的,所以需要測試用例 按照一定順序執行。乙個簡單的例項,見如下 引入了 testsuite,import junit.framework.test import junit.f...

Junit執行順序

乙個junit4的單元測試用例執行順序為 beforeclass before test after afterclass 每乙個測試方法的呼叫順序為 before test after 示例 4 public class junittest 10 11 before 12 public void ...

JUnit注釋的執行順序

注釋就好像你可以在你的 中新增並且在方法或者類中應用的元標籤。junit 中的這些注釋為我們提供了測試方法的相關資訊,哪些方法將會在測試方法前後應用,哪些方法將會在所有方法前後應用,哪些方法將會在執行中被忽略。序號注釋和描述 1 test這個注釋說明依附在 junit 的 public void 方...