0

我正在向我的 Spring-Boot 应用程序添加货物和故障保护。

故障保护:太好了。只要我运行本地主机,就可以找到我的 1 个 IT 并运行它。到目前为止,我已经在本地运行它,然后运行 ​​IT。

maven:也很棒。它以最少的麻烦正确构建

货物:我快疯了。

我有 3 个 Spring-Boot 应用程序解析的属性文件。一切正常,当我使用 SpringBootTest 进行单元测试时,一切都很好。(我在 /src/main/resources 中有一个 application.properties,在 /src/test/resources 中有一个测试版本,然后在我的 jar 之外有第三个版本。)

当我尝试在 cargo 中启动应用程序时,只加载了 /src/main/resources。我要疯了,试图弄清楚如何提供其他两个文件。

我试过了:

  1. 试过了
@TestSource(location = { "..../path/to/application.properties" })
@Theories
public class MyIT {
  1. 我尝试在我的 IDE 中添加参数。这行得通,但我不想将所有这些都放在命令行上,因为会有一些安全问题。

  2. 我尝试添加到 systemProperties,但这不适用于 spring 属性。

如何为货物指定弹簧属性(不是 -Dsystem.properties)?这将在企业 Bamboo 上进行,除此之外的一切都有效。我什至用 JaSypt 加密了敏感属性,这样它们就不会在明文中徘徊。我想我可以重新运行验证任务并在那里的命令行上使用 spring 参数,但如果它只使用 Spring 属性会更好。

必须有一种方法可以提供不破坏其他所有内容的货物参数?

编辑和添加 我希望为前端做 Selenium/HTMLUnit 测试。 @SpringBootTest不适用于这些自动化测试,因此应用程序属性正在被破坏。常规测试(即mvn test)工作正常。应用程序(即java -jar MyApp.jar)的运行工作正常,并且使用内部的嵌入式 Tomcat 就好了。我正在寻找一个可以运行的设置,mvn verify在某种背景下启动应用程序(例如货物?),然后运行测试。

我承认我不熟悉前端测试。如果货物仍然不是正确的工具,那么我将不胜感激关于什么是正确的工具。

4

0 回答 0