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
。