2013-03-07 48 views
3

想象一下,您有一個大型項目,其中包含數千個JUnit測試。 讓我們說運行所有的測試需要7分鐘。 從ant/maven腳本構建項目時,這看起來很短。僅在經過類修改後受影響的測試上運行JUnit

但是,當您使用Eclipse時,您無法經常運行所有測試,因爲7分鐘時間太長。

因此,這裏的問題: 當你修改了一些類,是有辦法讓JUnit的運行只測試是可能已被放入系統級變化的影響?

我的意思是,這聽起來是可行的,使用類加載器功能:運行每個測試後,可以知道哪些類已加載此測試,並存儲某處(即使在內存中)每個類的簽名測試。

當Junit再次啓動時,它可以針對每個測試檢查自上次運行以來此測試使用的類是否已被修改,如果沒有問題,並且如果沒有類影響測試,則不會啓動測試已經變了。 (如果最後一次測試沒問題,應該沒問題)

有人知道這樣做是否已經完成/實施了嗎?

回答

1

您可以嘗試使用來自Eclipse或IntelliJ的Infinitest。 (編輯拼寫)