【问题标题】:What is the best way to get database password to integration tests using Maven?使用 Maven 获取数据库密码以进行集成测试的最佳方法是什么?
【发布时间】:2010-12-03 04:06:36
【问题描述】:

我们正在使用 Maven 和 Spring,当前使用系统属性执行我们的测试并使用此行进行测试。

mvn -Ddbuser=username -Ddbpassword=password test

过去我曾使用环境变量,但我读到 maven 中的支持正在消失,因此认为这可能是一种不好的做法。

【问题讨论】:

  • 最佳实践是您的单元测试不要触及实际数据库。在数据库接缝处模拟或伪造所有活动。单元测试需要快速运行。集成测试可能会影响数据库,但不会影响单元测试。
  • @Asaph:您的评论对于单元测试绝对正确。然而,这个问题对于集成测试是有效的。我会相应地编辑标题和标签。

标签: testing continuous-integration integration-testing maven-3


【解决方案1】:

您可以将密码作为属性存储在 settings.xml 文件中。现在,如果以明文形式存储它会像我一样困扰您,那么可以使用 Maven 的 --encrypt-password 选项,然后您可以将密码存储在 settings.xml 中,并在配置文件、服务器或其他文件中加密用于集成测试的部分。这是有关如何配置的文档的链接:

http://maven.apache.org/guides/mini/guide-encryption.html

【讨论】:

  • 我喜欢 Mavens 加密密码支持。但是我如何在测试中访问解密的密码?
猜你喜欢
  • 1970-01-01
  • 2010-11-16
  • 1970-01-01
  • 2019-02-12
  • 2011-03-30
  • 1970-01-01
  • 1970-01-01
  • 2011-05-20
  • 2017-11-16
相关资源
最近更新 更多