从spring配置初始化或将字符串注入到staticClass(JUNIT)的静态字段中的优雅方法?

时间:2017-02-27 10:52:01

标签: spring spring-mvc spring-boot junit

注释 @Value(" $ {my.field}")如果您想将数据注入静态字段,效果会很好。

就我而言,我正在为我的春季启动应用程序构建测试。我正在使用Junit。我有一些任务要做 @BeforeClass ,我需要Spring应用程序配置中的一些属性。我正在寻找一种优雅的方式来获取我的房产。

1 个答案:

答案 0 :(得分:1)

您可以自己在静态设置方法中加载属性文件,然后选择测试中所需的值。对于某些人来说,它可能不如注射@Value方便,但它可以解决问题。

public class SomeTestClass {

    private static String myProperty;

    @BeforeClass
    public static void setUpClass() throws Exception {
        Properties prop = new Properties();
        prop.load(new FileInputStream("src/main/resources/application.properties"));
        myProperty = prop.getProperty("your.property.key");
    }

    @Test
    public void shouldLoadProperty() throws Exception {
        assertEquals("expectedValue", myProperty);
    }

}
相关问题