Mule 3.4 -JUnit TestCase在Mule ESB中失败了DataMapper MessageProcessor

时间:2013-11-27 13:14:48

标签: junit mule mule-studio mule-el

请帮助我克服这个问题。我开发了我的骡子流(版本3.4)。当我运行JUnit测试用例时,Flow运行正常,直到Data Mapper消息处理器。一旦到达dataMapper流后抛出类似.grf doesnot exits的错误。但是当我在Mule服务器中运行相同的流程能够成功获得响应时。问题仅在运行JUnit TestCase时发生。 观察:当我们点击JUit TestCase时,不会在类路径中识别DataMapper位置。请找到我的完整错误


错误[Thread-0] [org.mule.exception.CatchMessagingExceptionStrategy] - 消息:com.mulesoft.mule.module.datamapper.api.exception.DataMapperCreationException:数据映射图C:\ Documents and Settings \ UserID \ Desktop \ Mule-Project \ MuleProject \ Transformation_InputRequest.grf不存在(java.lang。 RuntimeException的)。消息有效内容的类型为:String

代码:MULE ERROR -2 异常堆栈是: 1.数据映射图C:\ Documents and Settings \ UserID \ Desktop \ Mule-Project \ MuleProject \ Transformation_InputRequest.grf不存在(com.mulesoft.mule.module.datamapper.api.exception.DataMapperCreationException)   com.mulesoft.mule.module.datamapper.clover.impl.graphfactory.AppHomeCloverGraphFactoryImpl:52(null)


我观察过 - 这个问题引发了JIRA:https://www.mulesoft.org/jira/browse/STUDIO-3400但似乎是开放状态。 我无法继续其他成功和失败场景的Junit TestCase,因为我在主流中拥有dataMapper。 有没有办法克服这个问题继续前进。请建议。 提前致谢。

2 个答案:

答案 0 :(得分:4)

尝试将以下内容添加到测试类中:

@Override
protected Properties getStartUpProperties() {
    Properties properties = new Properties(super.getStartUpProperties());
    properties.put(MuleProperties.APP_HOME_DIRECTORY_PROPERTY, new File("mappings").getAbsolutePath());
    return properties;
}

答案 1 :(得分:1)

我知道这就像2岁。我有同样的问题,上面的解决方案确实有效。但是,可以避免额外的代码。我发现问题是我的目录路径中的空格。尝试移动您的项目 C:\Documents and Settings\UserID\Desktop\Mule-Project\MuleProject\Transformation_InputRequest.grfC:\Projects或路径名中没有空格的任何其他目录。