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