我們有一個相當大的Eclipse RCP應用程序,不確定如何正確測試它的插件。如何高效地進行JUnit測試Eclipse RCP插件
- 對於每個插件,都有一個包含單元測試的測試片段。
- 對於較小的測試,不需要運行RCP平臺,我們只需調用「標準」JUnit測試運行器即可。
- 對於測試,需要在RCP平臺,有使用JUnit插件測試運行,以測試它的可能性。
- 對於JUnit的插件測試,它可以定義當RCP平臺啓動的插件被加載。
問題:運行JUnit插件測試需要花費大量的時間(秒而不是millicseconds簡單的JUnit測試)和資源,因爲RCP平臺和所有插件需要啓動。
問題:如何有效地最小化爲測試運行的插件? 我有哪些選擇可以最大限度地減少對RCP平臺的依賴(例如首選項服務和擴展點)? 是否有一些Mocking庫或至少一些嘲笑RCP平臺服務的最佳實踐?
現在我不能想象做了JUnit插件測試運行一些體面的TDD,它只是需要太長時間來執行這些測試。
任何有關該主題的建議和經驗非常受歡迎!
不錯的答案。在Robert Martin的其中一本書中提出了一個核心建議:*在可能的情況下,編寫POJO,以便您可以正確地單元測試其邏輯*。 – GhostCat
感謝您的貢獻!我同意,我正試圖讓平臺儘可能地擺脫一切。不幸的是,我不是唯一編寫代碼的應用程序;)應用程序模型,平臺和首選項/ UI的封裝對許多類都不是真的。重構優化可測試性是很危險的,因爲代碼沒有經過適當的測試;)並且從經驗上講,它們有時會產生奇怪的副作用並破壞事物。 – kerner1000