2013-12-05 3 views
0

Я новичок в тестовом примере JUnit. Пожалуйста, помогите мне в этом вопросе. У меня есть 2 потока мула - первый поток, имеющий MQ как входящий, и у него есть datamapper для трансформации xml. При первом входе потока я вызываю второй поток, когда мы вызываем вызов существующей службы (SOAP/HTTP). Пожалуйста, найдите мой JUnit ниже. Я могу получить ответ успеха. Но мое требование 1. Мне нужно увидеть ответ трансформатора, исходящий от трансформатора. (Как то, как мы видим через компонент журнала в нашем потоке) 2. Нужно переопределить URL-адрес (HTTP) через JUnit (чтобы проверить сценарий ошибки)Mule: тестовый случай JUnit для вызова службы, которая находится в середине потока Mule.

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.But не

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

3. Как взять под контроль потока и видит ответ Inbetween потока.

Вместо WMQ я заменил VM как входящую конечную точку для целей тестирования. 4. Есть ли какие-либо шансы, как без замены VM, мы можем напрямую позвонить с помощью WMQ через JUnit TestCase. Пожалуйста, помогите мне в этом. Я использую версию 3.4, не использую maven на данный момент. Пожалуйста, помогите мне. Заранее спасибо.

ответ

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

с учетом того, что вы должны установить системные свойства-mode = "OVERRIDE", а затем запустить свой сервер Mule с помощью bin/mule -M-Dhttp.host = your-host -M-Dhttp. port = your-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, вы, вероятно, найдете сотни примеров, связанных с поиском.

С уважением.

+0

Для 4-го вопроса. http://javasourcecodeetc.blogspot.com/2009/08/putting-message-into-ibm-websphere-mq.html отлично работает. – star

+0

@ Ale-Спасибо за ваш ответ. Я использую файлы конфигурации для переопределения свойств через JUnit в соответствии с приведенной выше ссылкой. Но в моем случае я использую 3 потока. В первом потоке у меня есть wmq, где я помещаю сообщение. В моем втором потоке только у меня есть http Outbound endpoint для вызова веб-службы. Я могу переопределить все свойства mq через конфигурационные файлы, но не уверен, как переопределить http-url через JUnit (который находится во втором потоке). Помогите мне в этом. – star

 Смежные вопросы

  • Нет связанных вопросов^_^