错误提示 :
Caused by: java.lang.IllegalStateException: Failed to replace DataSource with an embedded database for tests. If you want an embedded database please put a supported one on the classpath or tune the replace attribute of @AutoConfigureTestDatabase.
这个错误大意是说:当前测试需要一个内存数据库作为DataSource
但是没找见,如果你真想使用内存数据库,请指定一个正确的路径或者修改下最后那个注解的属性。 我的工程是一个mybatis的小demo,用的是mysql做数据库都配置好了,怎么会去调用内存数据库呢?这个坑填了好几个小时,终于才找到了原因。
在我的测试代码中,用了@MybatisTest
注解,一旦使用这个注解,系统会默认配置内存数据库作为DataSource
,而我实际配置的是mysql,所以测试一直报错说找不到内存数据库。使用注解@AutoConfigureTestDatabase(replace = NONE)
就能取消这个默认。
问题解决后,再看看其实简单的,只是我入门spring boot一个月左右,道行太浅,花时间踩坑~~~。