2009-10-12 31 views
3

我可能對這個過於沉迷,但我的項目有一個非常結構化的佈局,我非常喜歡。擁有這麼多結構實際上證明是有用的,這一次,所以我不希望它再次變得混亂。我應該在哪裏將共享測試實用程序放在多模塊Maven項目中?

首先,每個模塊由幾個Java包:

com.mycompany.mysoftware.modulename 
com.mycompany.mysoftware.modulename.impl 
com.mycompany.mysoftware.modulename.osgi 
com.mycompany.mysoftware.modulename.test 

的主要代碼住在.impl。接口,其他模塊使用的某些枚舉和某些數據容器類將不帶後綴地位於該包中。 .osgi包中包含OSGi特定代碼(BundleActivator s等)和.test包中的單元測試。

現在我有類僞造一個模塊用於測試其他人。我想知道是否應該將那些已經包含用於主代碼的共享庫的common模塊的.test包中的那些包,或者是否應該有一個新模塊test,我可以在Maven中設置不同的依賴範圍。

ETA:我有一個問題是,我得到循環依賴:如果我有兩個模塊和單元測試中的每個所需要的其他的假的,含有假的模塊具有模塊的依賴關係包含接口,它是包含單元測試的相同模塊。所以,假冒應該與測試一起,但是會導致很多代碼重複。或者,對於每個模塊,我製作了一個假模塊,但這讓我覺得它已經失控...

回答

2

您不希望測試代碼打包在主代碼使用的通用模塊中,您?

因此,我的答案似乎很明顯:創建一個測試模塊,並將其作爲依賴與測試範圍。

編輯:我把下面的問題的更新中提到的這個問題的答案)

關於循環依賴,怎麼樣把界面的分離模塊中?

+0

那麼,如果它位於該公共模塊的測試子目錄中,則不會打包。不過,我想,依賴範圍可能是最重要的方面。 – 2009-10-12 15:42:02

+0

的確如此。但是,如果它位於公共模塊的測試子目錄中,則不能依賴多個模塊中的代碼。 – 2009-10-12 15:58:20

相關問題