我的流程中有一些占位符。这些占位符的值在属性文件中指定(在 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);
}
}
答案 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