簡體   English   中英

JUnit參數化測試處理

[英]JUnit Parameterized Tests Processing

我對JUnit中的參數化測試有疑問。 我正在使用所有測試類運行一個測試套件,這是我的課程要求運行一個測試套件來運行所有測試類,因此我無法對其進行修改。 問題是我有一堆Entry對象(讓我們將其作為具有唯一ID從1開始並在每次創建它的新實例時遞增的對象),然后由JUnit對其進行預處理。 在編譯和運行程序時,我有9個在ParamTest類中聲明的ParamTest 在另一個類( EntryTest )中,我創建了一個條目,並且其ID應該為1。 但是,它的ID為10,這意味着已預先創建了參數化測試類的9個條目。

我的問題是,反正是有強制ParamTest類之前沒有做任何預處理EntryTest級運行或這是不可能的。 在套件中,我確保在EntryTest之前聲明ParamTest 如果不可能,除了創建單獨的套件或單獨運行測試之外,我還能解決這個問題嗎? 我當時在想一個公共靜態整數,以便從預處理量中跟蹤ID,但這聽起來像一個丑陋的解決方案。

我認為您的測試將會變得丑陋,快速,除非您有辦法將靜態類重置為已知狀態。

我建議您公開一個package-private方法,該方法允許您將ID值重置為特定值(例如0 )。

測試應該完全彼此獨立,即使在同一測試類中也是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM