我正在向我的 Spring-Boot 应用程序添加货物和故障保护。
故障保护:太好了。只要我运行本地主机,就可以找到我的 1 个 IT 并运行它。到目前为止,我已经在本地运行它,然后运行 IT。
maven:也很棒。它以最少的麻烦正确构建
货物:我快疯了。
我有 3 个 Spring-Boot 应用程序解析的属性文件。一切正常,当我使用 SpringBootTest 进行单元测试时,一切都很好。(我在 /src/main/resources 中有一个 application.properties,在 /src/test/resources 中有一个测试版本,然后在我的 jar 之外有第三个版本。)
当我尝试在 cargo 中启动应用程序时,只加载了 /src/main/resources。我要疯了,试图弄清楚如何提供其他两个文件。
我试过了:
- 试过了
@TestSource(location = { "..../path/to/application.properties" })
@Theories
public class MyIT {
我尝试在我的 IDE 中添加参数。这行得通,但我不想将所有这些都放在命令行上,因为会有一些安全问题。
我尝试添加到 systemProperties,但这不适用于 spring 属性。
如何为货物指定弹簧属性(不是 -Dsystem.properties)?这将在企业 Bamboo 上进行,除此之外的一切都有效。我什至用 JaSypt 加密了敏感属性,这样它们就不会在明文中徘徊。我想我可以重新运行验证任务并在那里的命令行上使用 spring 参数,但如果它只使用 Spring 属性会更好。
必须有一种方法可以提供不破坏其他所有内容的货物参数?
编辑和添加
我希望为前端做 Selenium/HTMLUnit 测试。 @SpringBootTest
不适用于这些自动化测试,因此应用程序属性正在被破坏。常规测试(即mvn test
)工作正常。应用程序(即java -jar MyApp.jar
)的运行工作正常,并且使用内部的嵌入式 Tomcat 就好了。我正在寻找一个可以运行的设置,mvn verify
在某种背景下启动应用程序(例如货物?),然后运行测试。
我承认我不熟悉前端测试。如果货物仍然不是正确的工具,那么我将不胜感激关于什么是正确的工具。