bmargulies給出了答案,但讓我填寫一些細節。
<testresources>
可以添加到maven的POM的<build>
節點,就像這樣:
<testResources>
<testResource>
<directory>${project.basedir}/src/test/java</directory>
</testResource>
</testResources>
那份一切的src/test/java下 - 包括.java源代碼,這是我們不想。
它也(如bmargulies只暗示)覆蓋並替換標準父POM中默認的<testResources>
設置,即所有其他POM繼承(除非該繼承已更改)。標準父節點複製src/test/resources,因此通過覆蓋它,我們不會像往常那樣複製,我們不希望這樣做。 (特別是,我這樣做的全部原因是使用單元,它希望將單元.properties文件複製 - 這對於src/test/resources是(對我來說)。
因此,我們重新添加src /測試/資源:
<testResources>
<testResource>
<directory>${project.basedir}/src/test/java</directory>
</testResource>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
,在順序拷貝上市,所以,對於文件中都存在/ src目錄/ test/java下(和子目錄)和/ src目錄/測試/資源(和子目錄) src/test/resources版本是測試類中的最後一個。
現在我們只需要而不是複製.java文件:
<testResources>
<testResource>
<directory>${project.basedir}/src/test/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</testResource>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
您可以配置Maven來做到這一點,但它是在一般的「更方便」遵循慣例,把資源文件Maven認爲他們應該是的。 – Thilo 2010-11-19 02:03:26
但單元約定是將dbunit xml文件放在與使用它們的測試相同的目錄中。坦率地說,這對我的團隊來說會更容易。這整個意義在於減少編寫dbunit測試的痛苦,這些單元確實令人欽佩。 – tpdi 2010-11-19 04:40:45