2012-10-17 25 views
0

我有一個JUnit4問題,它的註釋是@Test(timeout=xxx)。例如,兩個測試具有相同的身體,不同的名稱。他們都沒有使用任何可以初始化的全局變量。
當我運行測試時,它具有完全不同的執行時間(第一次測試0,811秒,第二次0,143)。JUnit4 - 「相同」測試用例的不同超時

對我來說獲得類似的結果是非常重要的。有什麼方法可以解決/解決這個問題嗎?

+3

如果我們能看到測試,幫助會更容易。 –

回答

1

第一個測試可能被報告爲需要更長的時間,因爲這包括JUnit初始化類所需的設置時間。如果您有兩個測試需要在大致相同的時間內運行,請考慮在另外兩個測試之前添加第三個測試,以便將init東西排除在外。

讓我知道這是否有效,好奇。

+0

是的,你說得對:)謝謝。這是JUnit庫的stragne行爲,類初始化時間不應該影響方法執行時間。 – cslysy

+0

在JUnit中不保證測試方法調用的排序。如果你真的想要指定順序,請閱讀 - http://stackoverflow.com/questions/3089151/specifying-an-order-to-junit-4-tests-at-the-method-level-not-class-level –

0

請嘗試使用超時規則。在應用超時規則之前,該類將被初始化,因此類初始化時間應排除

相關問題