2

我正在按照教程使用 playframework2.1 RC1 + Slick 加注星标。

当尝试启动 SoftwareSpec 测试(测试类模型类)时:

游戏测试

他们失败并出现如下错误:

[错误] SQLException: 找不到适合 jdbc:h2:mem:test1 (DriverManager.java:190) 的驱动程序 [错误] SoftwareSpec$$anonfun$1$$anonfun$apply$3.apply(SoftwareSpec.scala:25) [错误] SoftwareSpec$$anonfun$1$$anonfun$apply$3.apply(SoftwareSpec.scala:25)

但是我已经在 application.conf 中启用了 h2 db,就像那篇文章中提到的那样。

我在 Build.scala 文件中使用了最新的依赖项:

"com.typesafe" % "slick_2.10.0-RC1" % "1.0.0-RC1"

有一次,当我将依赖项更改为 slick 到此版本时:

"com.typesafe" % "slick_2.10.0-RC1" % "0.11.2"

然后测试成功通过。但是在我更改测试使其失败后,错误再次出现 - “没有合适的驱动程序”。在这之后,我所有的尝试(比如玩干净的任何东西)都没有成功。

4

2 回答 2

2

在 Travis CI 上运行测试时,我遇到了同样的错误。

一种解决方法是加载 JDBC 驱动程序类,例如Class.forName("org.h2.Driver").

https://github.com/seratch/scalikejdbc/blob/564cc07505d7a9f217945a7f2c07dc2c7460ed87/scalikejdbc-play-plugin/src/test/scala/scalikejdbc/PlayPluginSpec.scala#L15

当然,我应该调查这个问题的原因并向 Play 团队报告,但我没有这样做。

于 2012-12-26T14:31:57.790 回答
0

我目前没有使用 Play,所以我无法测试以下内容,但应该没问题。对于最新的 Slick,您可以使用:

"com.typesafe" % "slick_2.10" % "1.0.0-RC1"

对于 h2,以下应该有效:

"com.h2database" % "h2" % "1.3.166"
于 2012-12-25T20:37:51.693 回答