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

发布于 2024-07-20 09:58:55 字数 154 浏览 5 评论 0原文

我正在尝试从 Appfuse 原型开始构建一个应用程序,但我遇到了一些奇怪的问题。 这一次我想使用 hsqldb 进行自动化单元测试和集成测试,并使用 mysql 数据库进行手动测试,以便我可以在需要时轻松操作数据,因此在测试过程中自动切换配置文件会很好。测试阶段。 有没有办法做到这一点?

I'm trying to build an application starting from an Appfuse Archetype, but I get some strange problems. For once I'd like to use a hsqldb for automated unit tests and integration tests, and a mysql db for my manual testing so that I can easily manipulate the data when I need to, so it would be nice to automatically switch profiles during the testing phases. Is there a way to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独留℉清风醉 2024-07-27 09:58:55

我不确定这是否正是您所要求的,但您可以执行以下操作来为您的 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

I'm not sure if this is exactly what you are asking for, but you can do the following to setup multiple filters for your Maven project.

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

This way you can setup multiple profiles using:

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

You can then run the build with the relevant property file using:

mvn -P <profile id>

This would require having property files located at:

/your/path/filter-local.properties
/your/path/filter-test.properties
枫以 2024-07-27 09:58:55

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

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

Not sure if this can help you at all but you can specify alternative resource files in the /src/test/resources folder which override the ones in /src/main/resources when running tests only.

I define an alternative placeholders.properties file here to specify another db connection to be used by the test phase.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文