首先,我在当前的 application.conf 中设置的相关配置,实际上在Play 的 Java/Scala Ebean 文档中几乎定义了:
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
db.default.user="sa"
db.default.password=""
ebean.default="models.*"
我正在运行 Play Framework 2.0.4
在玩过 Play 之后,我为我的示例应用程序编写了几个集成测试。找到了这个关于如何使用 Ebean 为我的模型生成 ddl 代码的好例子,并决定试一试,但似乎我的 Ebean 配置缺少一些东西。
我的代码几乎遵循上面的示例,但它是 Scala:
def setUp = {
val server = Ebean.getServer("default")
...
val ddl = new DdlGenerator(server.asInstaceOf[SpiEbeanServer], new H2Platform, config)
...
}
调用Ebean.getServer("default")
会引发此异常:
Could not create an instance of MyClassSpec caused by java.lang.RuntimeException: DataSource user is null?
嗯,也许我错了,但我相信 db.default.* 属性已经设置了 Ebean 需要的任何东西。
我在我的应用程序和 Ebean 中也引用了相同的数据源名称(“默认”),并且我的测试代码是在running(FakeApplication(additionalConfiguration = inMemoryDatabase("default")))
代码块中定义的。
还有什么要配置的吗?谢谢!