プレイにテストコンフィグを注入することはできません!Guiceのによって作成されたアプリケーション2.6

Chnmuc:

プレイ中にJUnitテストで!アプリに設定::のIntelliJで実行2.6.25アプリケーションは、私はテストの設定を注入しようとしているアプリケーションは、Guiceのによって作成されました。しかし、アプリ:アプリケーションは、注入された設定が含まれていません。何が私が間違っているのでしょうか?

Config config = ConfigFactory.parseFile(new File("test.conf")).resolve();
// myapp.key resolved to "value"
String value = config.getString("myapp.key");
GuiceApplicationBuilder guiceApplicationBuilder = new GuiceApplicationBuilder();
guiceApplicationBuilder.withConfigLoader(environment -> ConfigFactory.load(config));
Application app = guiceApplicationBuilder.build();
// why myapp.key cannot be resolved? 
app.config().getString("myapp.key");

Test.confを

myapp.key = value

また、(成功せず)みました:

guiceApplicationBuilder.loadConfig(config);
guiceApplicationBuilder.configure(config);
cbley:

あなたが実際にビルダーは不変のデータ構造であるため、カスタム設定ローダーを持つアプリケーションビルダを廃棄しています。このようにそれを実行します。

GuiceApplicationBuilder guiceApplicationBuilder = new GuiceApplicationBuilder()
  .withConfigLoader(environment -> ConfigFactory.load(config));

あるいは単に

GuiceApplicationBuilder guiceApplicationBuilder = new GuiceApplicationBuilder()
  .configure(config);

メソッドのシグネチャを見ているとき、あなたは彼らのすべてのリターン(新!)に気づきますGuiceApplicationBuilder

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=401053&siteId=1