使用Maven进行Mule MUnit测试,未定义mule.home属性

时间:2016-01-26 09:47:20

标签: maven mule munit

在我们的Mule项目中,我们有一个公共属性文件,该文件是从许多Mule项目中引用的。为此,我们将文件放在Mule安装目录中,并在每个项目的流程中引用它:

LayoutParams params = fragment.getLayoutParams();
        params.height = text.getHeight();
        params.width = deviceHeight;
        fragment.setLayoutParams(params);

这适用于在Mule和Anypoint Studio中运行项目,因为在这两种情况下都定义了<spring:beans> <context:property-placeholder location="file:///${mule.home}/conf/common.properties" /> </spring:beans> 。它还适用于运行Anypoint Studio中项目中定义的MUnit测试套件。

但是,当未定义Maven mule.home运行测试时,测试失败。我已尝试向mule.home文件添加mule.home的定义,但这不起作用。

关于如何从Maven运行测试并在属性流中保留settings.xml引用的任何建议?或者是否有一种方法可以在属性流中为从测试套件调用流时提供替代配置?

或者我们应该如何从多个Mule项目中引用公共属性文件?

版本: Mule运行时:3.6.2

Munit:1.1.0

Maven 3.3.1

2 个答案:

答案 0 :(得分:3)

试试这个:

mvn -Dmule.home=yourpath test

这应该可以解决问题。 希望这会有所帮助。

答案 1 :(得分:0)

或者,您也可以在父抽象测试类中以编程方式设置mule.home:

@BeforeClass
public static void setUp() {
    System.setProperty("mule.home", "whatever");
}