2011-08-27 90 views
1

這讓我頭疼......循環依賴,雞和雞蛋

我有一個叫做「talktome」項目,沒有運行時依賴。

另外我有項目'talktome-tools',這取決於'talktome'。

沒有問題,直到我意識到'talktome'中的單元測試依賴於'talktome-tools'。

有什麼解決方案?

回答

3

如果talktome是其他(如talktome-tools)所依賴的一般項目,則不應該依賴於更具體的項目。那麼,擺脫talktome對talktome-tools的依賴是明智的。

否則,您將創建一個更高級別的項目(例如父項),並將必要的接口,可由talktome和talktome-tools用於新項目的類。

1

您可以將測試移動到另一個maven模塊,如talktome-tests將進行集成測試。這很有意義,特別是talktome似乎不應該依賴像talktome-tools這樣的具體項目。

而且,像talktome-tools這樣的測試依賴關係應該包含​​在測試範圍內。