2014-12-27 191 views
1

我目前有一些測試,它確實運行很長。在每次測試中,我總是一樣的:如何並行化JUnit測試?

有一個循環創建一個新的對象(每次迭代都有不同的參數),做一些耗時的對象計算,並且在每次迭代結束時將結果與預期結果。

此循環中的每次迭代都是完全隔離的。我可以很容易地並行運行所有這200個非常耗時的迭代。但如何最好地做到這一點?

乾杯, 洪堡

回答

0

的Junit 4具有內置中並行處理。檢查這個documentation

除此之外,您可能需要考慮將所有重複迭代移動到靜態設置方法中並註釋爲@BeforeClass。這將確保代碼在整個生命週期中只運行一次。

@BeforeClass 
public static void setup() { 
    //Move anything needs to run only once. 
} 
+0

並行處理是Maven特性而不是JUnit特性。 –

0
+0

謝謝!我有幾個問題: –

+0

1.你的第一個鏈接說,「單個參數測試」允許返回Object []。在我的情況下,這總是會拋出一個錯誤:「必須返回一個數組的Iterable。」 如果我將這些參數封裝在一個常規數組中,它就可以工作。 –

+0

您需要將JUnit 4.12用於「單參數測試」。我假設你正在使用4.11。 –