运行测试时
init.sql
在资源文件夹中搜索文件,因为
by default for maven projects
运行测试时
/src/test/resources
目录内容放置在
CLASSPATH
. 因此,当您在
spring.datasource.druid.url
如您所问的
/src/test/resources/
目录已前置。
回答您的问题,确保
初始化。sql
可以使用指定的属性找到文件
spring.datasource.druid.url=jdbc:h2:mem:s;MODE=MYSQL;INIT=RUNSCRIPT FROM 'classpath:/db/init.sql'
,您需要通过修改
pom.xml
生成标记如下:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/test</directory>
</resource>
</resources>
</build>
我建议最好的做法是
初始化。sql
文件发送到
src/test/resources
文件夹并使用属性
spring.datasource.druid.url=jdbc:h2:mem:s;MODE=MYSQL;INIT=RUNSCRIPT FROM 'classpath:init.sql'
这应该管用。