在mule munit中加载属性

时间:2016-05-05 07:34:54

标签: java mule munit

我的流程中有一些占位符。这些占位符的值在属性文件中指定(在 classpath 中)。我正在使用java做munit。目前,这些占位符不会被属性文件中的值替换。知道如何在运行munit时加载这个文件吗?

我的munit是这样的:

Class MyClass extends FunctionalMunitSuite{

    @Override
    protected String getConfigResources() {

        //try 1[gave give value pairs directly]: didnt worked
         System.getProperties().put("prop.key", "value");

         //try2[load prop files]:didn't worked
         prop.load(this.getClass().getResourceAsStream("mypropertyfile.properties"));
         System.setProperties(prop); 
    }

}

2 个答案:

答案 0 :(得分:2)

在重写getConfigResources()中指定一个test-config.xml,其中包含属性文件的模拟连接器和上下文属性占位符。将该测试属性文件存储在src / test / resources

@Override
    protected String getConfigResources() {
        return "mule-config-test.xml" + ",actual-flow-to-test.xml";
    }

mule-config-test.xml内,定义测试属性文件,如下所示:

<context:property-placeholder ignore-resource-not-found="true" location="wmo-mule-app.properties,wmo-mule-app-unit-test.properties" />

在这种情况下,wmo-mule-app.properties是我的实际应用属性文件,而wmo-mule-app-unit-test.properties是覆盖单元测试属性文件。此单元测试属性文件将优先于wmo-mule-app.properties

答案 1 :(得分:0)

目前,您可能将文件放在 / src / main / resources 中 尝试将其放入 / src / test / resources