2014-10-03 74 views
3

我正在並行運行大量的JUnit測試,並且我經常得到沿着 的結果「N個測試通過,M個測試失敗,P個測試未開始」(與this question相反,根本沒有測試開始)。IntelliJ:測試未開始

這是什麼原因造成的?我嘗試了「無效緩存」選項,但是,這似乎並沒有解決任何問題。我應該提到測試需要比平均JUnit測試花費更長的時間(它們可能需要長達90秒才能運行),這可能與它有什麼關係?現在我只需按「重新運行失敗的測試」,直到我強制IntelliJ運行所有這些,這相當麻煩。我不會向System.out發送任何奇怪的東西,正如我所說的,我最終讓它們運行。

它運行約10分鐘的測試,然後不再開始進一步的測試。是否有某種我無法找到的某種超時?

有時,這會出現在控制檯後出現這種情況:

Process finished with exit code 255 

版本的詳細信息:

  • 的IntelliJ版本13.1.4
  • JUnit的4.10
+0

這是每次啓動的測試嗎?同步/線程/依賴注入沒有問題? – vikingsteve 2014-10-03 11:43:31

+0

沒有任何一種 - 每個測試都是完全獨立的,測試根本不分享任何東西。 – 2014-10-03 11:44:22

+0

好的。相同的不是每次都開始,還是會有所不同? – vikingsteve 2014-10-03 11:44:54

回答

1

有一個@Test註釋超時選項 - 有你試圖增加呢?

而且還有一個@RuleTimeout選項。

信息about Timeout for Tests - 我希望它是相關的?

+0

我沒有使用所提到的註釋。此外,如果我正確地閱讀該頁面,應該使測試失敗,而不是首先開始。超時總是與單個測試綁定在一起,而不是一系列測試(即使它們在同一個類中 - 執行globalTimeout @Rule時仍會設置每次測試的限制*)。 – 2014-10-03 12:08:44

+0

您是使用默認的測試跑步者,還是使用其他跑步者?例如junit測試跑步者或春季測試跑步者。 – vikingsteve 2014-10-03 12:19:24

+0

IntelliJ中的缺省值。 – 2014-10-03 12:34:01