java 当我通过H2数据库在Sping Boot 中通过JUnit运行任何测试方法时,我如何看到任何表

jchrr9hc  于 2023-03-11  发布在  Java
关注(0)|答案(1)|浏览(125)

我通常使用h2数据库通过JUnit测试应用程序,而不运行应用程序。
当我运行控制器、服务或存储库的任何测试方法时,我看不到任何生成的表。
下面是我通过Intellij Idea创建数据源时的图像。

下面是application.integration.properties文件。

spring.h2.console.enabled=true
spring.datasource.name=test
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
spring.sql.init.mode=always
spring.datasource.url=jdbc:h2:mem:weatherdb?mode=MySQL
spring.sql.init.platform=h2
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update

我还在BaseRepositoryTests中定义了@Rollback(value = false)@AutoConfigureTestDatabase(replace= AutoConfigureTestDatabase.Replace.NONE),但没有任何变化。
我该怎么修呢?
以下是回购协议:Link

a5g8bdjr

a5g8bdjr1#

当使用内存数据库时,只有在应用程序(例如JUnit)运行时才能创建内存数据库。
尝试在文件系统中创建H2数据库。
Spring数据源url= jdbc:h2:file:<PATH_TO_DB>;MODE=MySQL
例如:
Spring数据源url= jdbc:h2:file:/Users/someuser/Desktop/weather/weatherdb;MODE=MySQL

相关问题