Mule:JUnit测试用例,用于调用位于Mule流中间的服务

时间:2013-12-05 14:15:00

标签: junit mule mule-studio mule-el junit-rule

我是JUnit测试用例的新手。请帮我解决这个问题。我有2个骡子流 - 第一个流有MQ作为入站,它有数据映射器来转换xml。使用第一个流输入,我调用第二个流,我们调用现有服务(SOAP / HTTP)调用。请在下面找到我的JUnit。我能够得到成功的回应。但我的要求 1.我需要看到Transformer发出的变压器响应。(就像我们在流程中通过logger组件看到的那样) 2.需要通过JUnit覆盖url(HTTP)(以便测试错误场景)

    public class Request_SuccessPath extends FunctionalTestCase {
    @Test
    public void BulkRequest () throws Exception {
        MuleClient client = muleContext.getClient();
        System.out.println("test");
        String payload = " <root>  <messageName>str1234</messageName><messageId>12345</messageId><DS>123</DS><</root>";
        MuleMessage reply = client.send ("vm://test",payload ,null);}
@Override
    protected String getConfigResources() {
        // TODO Auto-generated method stub
        return "src/main/app/project.xml";}

我认为以下代码段会覆盖网址。但它不是

          DefaultHttpClient client1 = new DefaultHttpClient();  
    HttpGet httpGet = new HttpGet("http://localhost:7800/service);
    assertNotNull(response);

3。如何控制流量并查看流量之间的任何响应。

为了测试目的,我已将VM替换为入站端点而不是WMQ。 4.有没有机会,如果没有替换VM,我们可以通过JUnit TestCase直接调用WMQ。请帮助我。 我正在使用3.4版本,现在不使用maven。请帮我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

1)“看”是什么意思。记录它会有效吗?在调试时检查它?

2)您应该使用变量(例如

)对端点进行参数化

并按照此处的说明配置属性占位符:http://www.mulesoft.org/documentation/display/current/Using+Parameters+in+Your+Configuration+Files 将http.port,http.host和http.path变量添加到mule-app.properties

考虑到你必须设置system-properties-mode =“OVERRIDE”然后使用bin / mule启动你的Mule服务器-M-Dhttp.host =你的主机-M-Dhttp.port =你的端口 - M-Dhttp.path =您的路径

3)是的,WMQ有一个可用于与之交互的Java API:http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=%2Fcom.ibm.mq.csqzaw.doc%2Fuj41013_.htm,您可能会通过Google搜索找到数百个示例。

问候。