使用 scalikejdbc 2.4.1 在单元测试中未初始化连接池
Connection pool is not initialized in unit test with scalikejdbc 2.4.1
我在 运行 使用 specs2 和 scalikejdbc 2.4.1、scalikejdbc-config2.4.1 进行单元测试时遇到问题
这是我的代码:
object PostDAOImplSpec extends Specification{
sequential
DBs.setupAll
implicit val session = AutoSession
"resolveAll shoudn't have any syntax error" in new AutoRollback {
val postIds = DB readOnly { implicit session =>
sql"select post_id from posts".map(_.long(1)).list.apply()
}
}
DBs.closeAll()
}
这是日志:
09:11:16.931 [main] DEBUG scalikejdbc.ConnectionPool$ - Registered connection pool : ConnectionPool(url:jdbc:mysql://localhost/bbs, user:root) using factory : <default>
09:11:17.130 [main] DEBUG scalikejdbc.ConnectionPool$ - Registered connection pool : ConnectionPool(url:jdbc:mysql://localhost/bbs, user:root) using factory : <default>
java.lang.IllegalStateException: Connection pool is not yet initialized.(name:'default)
java.lang.IllegalStateException: Connection pool is not yet initialized.(name:'default)
从前两行可以看出,scalikejdbc 找到了数据库的配置,但是无法初始化连接池。
你有什么主意吗?谢谢
DBs.closeAll()
在 运行 测试之前关闭连接池。
我在 运行 使用 specs2 和 scalikejdbc 2.4.1、scalikejdbc-config2.4.1 进行单元测试时遇到问题 这是我的代码:
object PostDAOImplSpec extends Specification{
sequential
DBs.setupAll
implicit val session = AutoSession
"resolveAll shoudn't have any syntax error" in new AutoRollback {
val postIds = DB readOnly { implicit session =>
sql"select post_id from posts".map(_.long(1)).list.apply()
}
}
DBs.closeAll()
}
这是日志:
09:11:16.931 [main] DEBUG scalikejdbc.ConnectionPool$ - Registered connection pool : ConnectionPool(url:jdbc:mysql://localhost/bbs, user:root) using factory : <default>
09:11:17.130 [main] DEBUG scalikejdbc.ConnectionPool$ - Registered connection pool : ConnectionPool(url:jdbc:mysql://localhost/bbs, user:root) using factory : <default>
java.lang.IllegalStateException: Connection pool is not yet initialized.(name:'default)
java.lang.IllegalStateException: Connection pool is not yet initialized.(name:'default)
从前两行可以看出,scalikejdbc 找到了数据库的配置,但是无法初始化连接池。 你有什么主意吗?谢谢
DBs.closeAll()
在 运行 测试之前关闭连接池。