我有一个使用 Spring Boot 开发的 Spring MVC 应用程序。顺便说一句,这是应用程序仅用于学习目的。
默认情况下,应用程序启动并使用 MySQL 数据库。对于单元和集成测试,我使用了一个内存 H2 数据库,它运行良好。
因此,为此,我有两个 application.properties。一个在/src/main/resources/application.properties下。
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost/myDatabase
spring.datasource.username = root
spring.datasource.password = mysql
spring.thymeleaf.mode=LEGACYHTML5
spring.thymeleaf.cache=false
/src/test/resources/application.properties下的其他 application.properties
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE"
spring.datasource.username=sa
spring.datasource.password=sa
现在,我必须使用 Selenium 进行自动化网站测试,并且我不希望我的 MySQL 数据库中填充测试数据。
我以前在 Spring 中没有这样做过,但我希望我的应用程序能够像这样工作:
- 从终端启动我的应用程序,使用某些命令指定它应该使用的数据库。它应该在 localhost:8080 上启动
- 然后,在 localhost:8080 中运行所有 Selenium 测试。使用 Selenium 测试生成的所有数据仅在应用程序运行时保存在内存中
如何使用 application.properties 或其他配置在 Spring Boot 应用程序中执行此操作?