我想在pizza
模塊的內存中測試中從database
模塊的測試資源中重新使用sql腳本,但無法從腳本獲取腳本類路徑。如何從另一個模塊獲取測試資源
我的目錄結構是這樣的:
(我最左側的文件/目錄出來爲簡潔起見)現在
| pom.xml
|
|
+---database
| | pom.xml
| |
| \---src
| \---test
| \---resources
| \---db
| \---migration
| \---hsqldb
| V1__create_schema.sql
| V2__config_data.sql
| V3__user_data.sql
|
+---pizza
| | pom.xml
| |
| \---src
| +---main
| | +---java
| | | \---com
| | | \---example
| | | +---domain
| | | | DoStuff.java
| | |
| | \---resources
| | | applicationContext.xml
| |
| \---test
| +---java
| | \---com
| | \---example
| | DoStuffTest.java
| |
| \---resources
| insert-test-data.sql
| test-applicationContext.xml
| test-in-memory-database.xml
|
\---poms
| pom.xml
|
\---parent
pom.xml
,我想測試的ApplicationContext的pizza
模塊在請在database
模塊中的V1__create_schema.sql
腳本中創建一個內存數據庫,以便我可以對其執行測試。我把這個在我的測試 - applicationContext.xml
:
<jdbc:embedded-database id="dataSource" type="HSQL">
<jdbc:script location="classpath:V1__create_schema.sql"/>
<jdbc:script location="insert-test-data.sql"/>
</jdbc:embedded-database>
...但它無法找到我的類路徑V1__create_schema.sql
。我嘗試了很多不同的方式來達到它,包括maven-remote-resources-plugin
,但沒有運氣。
我該如何去掌握該資源?
...或者我正在使用錯誤的方法?
編輯:非常感謝所有的建議,我正在尋找的答案是從Java1337的。但是,似乎這個問題已經在SO上得到解答。我不相信我錯過了!不便之處!
在比薩pom中放置對數據庫的依賴關係 –
是的,我明白了。沒有幫助。 – Roger
你如何從比薩模塊內定義你的依賴到數據庫模塊?您可能需要讓數據庫模塊創建一個測試jar,然後爲您的比薩模塊添加一個依賴項。有關詳細信息,請參閱以下內容:https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html – DB5