我正在開發一個具有多個後端的數據庫DSL。爲了避免強制不必要的依賴於用戶,DSL將被拆分爲一個「核心」包,其中包含DSL本身,併爲每個後端分配一個包。後端包都依賴於核心包,因爲它定義了每個後端需要提供的API。將庫分割成多個包
現在,我想爲我的DSL添加一個測試套件。由於大多數被測試的功能都存在於核心軟件包中,這就是我想要放置測試套件的地方。但是,爲了實際運行運行任何測試,至少需要一個後端。這意味着測試套件依賴於核心軟件包和後端軟件包,但後端軟件包又取決於核心軟件包,從而產生循環依賴。
顯而易見的解決方案是爲僅依賴核心和後端的測試創建另一個包,或者將後端API移動到核心和後端包可以依賴的其自己的包中(允許後端不依賴核心包)。但是,如果可能的話,我想保持包裝結構不變,並將測試套件作爲核心包的一部分。
這可能嗎?