尝试将集成测试添加到现有的Grails 3.2.3项目中,我已将以下行添加到我的application.yml中:
environments:
test:
dataSource:
dbCreate: create-drop
url: jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
pooled: true
driverClassName: org.h2.Driver
username: sa
password:
但是,在运行集成测试时,我收到一条消息,指出OracleDriver返回null:
错误org.apache.tomcat.jdbc.pool.ConnectionPool - 无法创建池的初始连接。
java.sql.SQLException:驱动程序:oracle.jdbc.OracleDriver@2da84919为URL返回null:jdbc:h2:mem:testDb; MVCC = TRUE; LOCK_TIMEOUT = 10000; DB_CLOSE_ON_EXIT = FALSE
我在测试环境中,在Intellij IDEA的JUnit VMOptions中添加了'-Dgrails.env = test'标志。我尝试评论默认数据源,但没有成功。
PS:我在从application.yml评论所有数据源时也遇到错误,事件是测试的。 PPS:当通过Gradle运行集成测试时,问题就消失了。