Playframeworkを2.0.4(SBT 0.11.3)→2.1.0(SBT 0.12.2)にバージョンアップした際に、それまでテスト実行時に指定していた設定ファイルが読み込まれなくなった。
テストの実行は↓のコマンドで実行していたけど、test.confに定義している設定値がどうも有効になっていなかった。(testじゃなくてrunした場合はちゃんとconfファイルを認識してる)
play -Dconfig.file=conf/test.conf test
Play 2.1 のテスト中に、OutOfMemoryError などが出てテストが途中で止まる場合の対策 - scalaとか・・・の内容みると、test実行時にsbtを実行しているJVMとは別にJVMがフォークされ、そのJVMの上でテストが実行されてるところに起因してるくさい。この新たにフォークされたJVMにはsbtを実行する際にコマンドラインで指定したシステムプロパティがロードされていないので、-Dconfig.fileで指定した設定ファイルも認識されてないみたい。
Playな環境でテスト実行時でもシステムプロパティを認識させるには↓の2通りの方法がある。