java – 在spring boot中使用嵌入式数据库进行测试

我有一个spring boot应用程序,它有几个@Entity类和@RepositoryRestResource repositort接口.现在我想编写一些测试,在那里我可以检查我是否可以使用这些存储库将新记录添加到我的数据库中,但我不想使用我配置的MySQL数据库,而是我想使用一些嵌入式数据库喜欢H2.目前我有一个application.properties文件,如下所示:

spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=qwerty123

问题:如何配置我的应用程序以使用其他数据库进行测试?我的项目中没有xml,一切都基于注释.我尝试使用@Bean定义@Configuration类来创建DataSource,然后在测试类上使用@ContextConfiguration注释,但它说它无法加载上下文.

最佳答案
如果您正在使用Maven项目,则可以将application.properties文件添加到src / test / resources中,例如使用以下内容.

# Create DDL
spring.jpa.hibernate.ddl-auto=create

# H2 in local file system allowing other simultaneous connections
spring.datasource.url=jdbc:h2:~/test;AUTO_SERVER=TRUE

此外,您需要包含H2作为依赖项(pom.xml):

<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
   <version>1.4.193</version>
</dependency>

转载注明原文:java – 在spring boot中使用嵌入式数据库进行测试 - 代码日志