我們有幾個非常非常慢的JUnit測試,它們大量使用嘲諷,包括靜態函數的嘲弄。單次測試需要20-30秒,整個「mvn測試」需要25分鐘。使用PowerMock分析JUnit測試?
我想分析哪些時間浪費了,但在分析中幾乎沒有經驗。
我假設從屬模擬對象的初始化花費太長時間。
兩個問題:
1)如何可以迅速得到號碼哪些方法浪費時間?我不需要複雜的高級用戶工具,只需要一些基本的數據。 (證明我們所做的嘲笑是邪惡的)
2)你有什麼設計缺陷會產生如此糟糕的時機嗎?我們測試應該調用模擬服務的JSF支持bean。也許在後臺bean中可能有一些輸入驗證或不重構的業務邏輯,但不能改變(請不要對此進行評論;-))
ad 2)例如,一個測試約有30(! )類準備用@PrepareForTest進行測試。這不好,但我無法解釋爲什麼。