在内存数据库中配置特定的测试目的在Spring

前端之家收集整理的这篇文章主要介绍了在内存数据库中配置特定的测试目的在Spring前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何配置我的Spring Boot应用程序,以便当我运行单元测试时,它将使用内存数据库,如H2 / Hsql,但是当我运行Spring Boot应用程序时,它将使用生产数据库[Postgre / MysqL]?

解决方法

弹簧型材可用于此。这将是一个具体的方式:

具有环境特定的属性文件

application.properties:

spring.profiles.active: dev

application-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

application-test.properties

spring.jpa.database: Hsql

在pom.xml中同时拥有MysqL和H2驱动程序,如下所示:

<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”)注释测试类。

猜你在找的MsSQL相关文章