私はspring-boot 1.4.0アプリケーションを作成しました。yamlファイルを使用して国際化したいと思います。SpringBootユニットのテスト構成
http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-typesafe-configuration-propertiesのマニュアルに説明されているように、yamlファイルから構成をロードするためのクラスを作成しました。
私のクラスがyamlファイルのプロパティを正しく読み込んでいることを確認するテストを作成したいと思います。
yamlファイル(application.ymlとは別の名前)をロードするユニットテストを作成する方法と、getUsername()
がyamlファイルから値を返すかどうかを確認する場合は、私はuserNameShouldBeCorrectテストに失敗した
@Component
@ConfigurationProperties(locations = "classpath:mylocalizedprops.yml", prefix="connection")
public class ConnectionProperties {
private String username;
// ... getters and setters
}
とテストクラス
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = Application.class)
public class InternationalizationTest {
@Autowired
private ConnectionProperties connectionProperties;
public void propsShouldBeNotNull() {
assertNotNull(connectionProperties);
}
public void userNameShouldBeCorrect() {
assertEquals(connectionProperties.getUsername(), expectedUserName);
}
}
:ここ
は、私が持っているコードですが、それでもユーザ名をロードすることはできません。 mylocalizedprops.ymlファイルは、Maven構造化アプリケーションのsrc/main/resourcesフォルダにあります。
ファイルは '/ src/test/resources'または' src/main/resources'にありますか? 'src/main/resources'にある場合は、それをテストリソースに入れるか、テストソースセットの一部としてメインソースセットをロードする必要があります。 – Adam
これはsrc/main/resourcesにありますが、テスト目的でsrc/test/resourcesに作成するのが最善の方法だと思います。 – jerome
ファイルをコピーして貼り付けます。欠点は、すべてを複製する必要があることです。 – Adam