我该如何配置我的春季启动应用程序,以便当我运行时单元测试它将使用在记忆中数据库如H2
/HSQL
但当我跑步时春季启动应用程序它将使用生产数据库PostgreSQL
/MySQL
?
为此可以使用弹簧型材。这将是一种具体的方式:
具有特定于环境的属性文件:
应用程序属性:
spring.profiles.active: dev
应用程序-dev.properties
spring.jpa.database: MYSQL
spring.jpa.hibernate.ddl-auto: update
spring.datasource.url: jdbc:mysql://localhost:3306/dbname
spring.datasource.username: username
spring.datasource.password: password
应用程序测试.properties
spring.jpa.database: HSQL
两者都有MySQL and H2司机在pom.xml
, 像这样:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>test</scope>
</dependency>
最后但并非最不重要的一点是,用注释测试类@ActiveProfiles("test")
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)