在测试阶段使用备用Maven配置文件

时间:2009-05-14 22:06:42

标签: java unit-testing maven-2 appfuse

我正在尝试从Appfuse Archetype开始构建应用程序,但是我遇到了一些奇怪的问题。曾经有一次我想使用hsqldb进行自动单元测试和集成测试,并使用mysql db进行手动测试,这样我就可以在需要时轻松操作数据,所以最好自动切换配置文件。测试阶段。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:7)

我不确定这是否与您要求的完全相同,但您可以执行以下操作为Maven项目设置多个过滤器。

<filters>
  <filter>/your/path/filter-${env}.properties</filter>
</filters>

这样您就可以使用以下方式设置多个配置文件:

<profiles>
  <profile>
    <id>local</id>
    <properties>
      <env>local</env>
    </properties>
  </profile>
  <profile>
    <id>test</id>
    <properties>
      <env>test</env>
    </properties>
  </profile>
</profiles>

然后,您可以使用相应的属性文件运行构建:

mvn -P <profile id>

这需要将属性文件放在:

/your/path/filter-local.properties
/your/path/filter-test.properties

答案 1 :(得分:2)

不确定这是否对您有所帮助,但您可以在/ src / test / resources文件夹中指定备用资源文件,这些文件仅在运行测试时覆盖/ src / main / resources中的文件。

我在此处定义了一个替代的placeholders.properties文件,以指定测试阶段要使用的另一个数据库连接。