2013-07-27 101 views
0

我在我的項目的一個依賴項模塊中有bean定義(x1.spring.xml)。覆蓋Junit的jar中的彈簧配置文件

現在我必須編寫Junit,它使用jar中存在的x1.spring.xml文件。 我想重寫x1.spring.xml中的一些bean實例,所以我在test/src - >中創建了相同的包結構,並將我的新修改放入了文件x1.spring.xml。

但是,當我執行junit時,程序正在拿出一個罐子,但不在 test/src文件夾中。我保持與jar相同的包裝結構(認爲它會覆蓋jar中的包裝結構)

+0

你如何構建你的代碼,即Maven,Ant,(IDE)? –

+0

這只是爲了執行junit。與構建無關。所有的引用都在classpath中。 – srinannapa

+0

你不能執行你沒有構建的代碼,所以它有很多事情要做。什麼構造你的類路徑? –

回答

2

如果您遵循Maven慣例,即${basedir}/src/main/resources${basedir}/src/test/resources,則後面位置中的文件將放置在類路徑中,因此@SpringJUnit4ClassRunner會先找到測試文件。這聽起來像你沒有使用傳統的目錄,在這種情況下,請確保你已正確配置了resourcestestResourcesbuild元素。有關詳細信息,請參閱POM reference

如果這是在@SpringJUnit4ClassRunner中配置的頂級資源,或者只是調用測試文件來保持簡單。

+0

我使用的是Spring 1.2.x,Legacy應用程序,無法更改爲最新版本的彈簧 – srinannapa

+0

然後,您可以忽略'@ SpringJunit4ClassRunner'位(它在2.5之前不存在) ,但Maven的行爲仍然應該保留。 –