まず、現在の 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")))
コード ブロック内で定義されています。
他に設定することはありますか? ありがとうございました!