2014-01-08 54 views
0

我有一套54個測試(少數這些都是正確的,有些數據寫入到MySQL數據庫,並刪除它集成)。用Eclipse Test Runner運行我的junit測試需要117秒。我有另一款應用程序,其中244個測試類似於沙發,這些應用需要308秒。春季測試似乎慢

一個VS 2010 c#項目與〜50個類似的測試(使用spring.net)類似的組合運行約10秒鐘。

我也有一個摩卡節點測試套件260個試驗(類似於混合上述),其採用2秒運行。

我的理解是,通過ContextConfiguration加載的應用程序上下文緩存,所以這不應該是一個問題。我發現自己越來越沮喪的運行我的Java應用程序測試所需的時間。

我想我想知道每次測試2秒是否與我期望的相關。是否可以做任何事情來加快速度。

最後,如果一個人只能希望得到使用JUnit和Eclipse逐步改進,我想知道人們如何能受得了。

+0

豆幫助嗎? –

+0

不,他們被緩存,據我所知可以從控制檯。 –

回答

0

確保您不使用@DirtiesContext,這將導致上下文每類或測試重裝。 也<beans default-lazy-init="true">在您的測試環境可以通過初始化不僅每個測試初始化​​上下文需要對當前的測試

+0

時間下降到116秒。我注意到接觸數據庫的測試是最慢的。 3次針對org.springframework.data.repository.CrudRepository命中的數據庫,並在每次測試後需要15秒才能運行deleteAll()。它在我的開發機器上託管的vm​​上打了一個mysql數據庫。它看起來很慢。 –

+1

這真的太多了!如果你正在做一些批量插入/更新,或者運行緩慢的查詢,這是有道理的。可能有與你的連接分貝...嗯,我只能推測。我有一個包含10個集成測試的項目,所有測試都在3個桌面上進行CRUD操作,並且它們全部完成大約3/4秒。 – isah