0

我是 JUnit 测试用例的新手。请在这个问题上帮助我。我有 2 个 mule 流 - 第一个流具有 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";}

我认为以下代码段将覆盖 url。但事实并非如此

          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。请帮我。提前致谢。

4

1 回答 1

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 -M-Dhttp.host=your-host -M-Dhttp.port=your-port -M-Dhttp 启动您的 Mule 服务器.path=你的路径

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

问候。

于 2013-12-06T15:43:39.223 回答