2014-02-07 1 views
0

У меня есть базовое приложение Mule ESB с базовым потоком, вроде: «Http Inbound endpoint (режим запроса-ответа) -> logger -> HTTP-исходящая конечная точка (режим запроса-ответа) -> Компонент Java "Junit Тест для проверки конечной точки Http Outbound в Mule Flow

Запрос: Как написать тестовый пример junit для проверки вышеуказанного потока. Как можно видеть, у меня есть HTTP Outbound Endpoint (режим запроса-ответа), который относится к некоторому большому приложению, которое много обрабатывает, а затем возвращает ответ. Я высмеиваю эту исходящую конечную точку HTTP? Я не хочу проверять только исходящую конечную точку HTTP (режим запроса-ответа) по отдельности. Я хочу, чтобы junit тестировал поток в целом.

Спасибо заранее. Jai Shammi Raj Kulkarni

ответ

0
public void httpEndpoint() throws IOException 
    { 
     DefaultHttpClient client = new DefaultHttpClient(); 
     HttpGet httpGet = new HttpGet("http://localhost:8085/api/search"); 
     HttpResponse response = client.execute(httpGet); 
     assertNotNull(response); 
    } 
5

Вы можете создать тестовый поток с входящей конечной точкой HTTP и компонентом test: для установки полезной нагрузки и добавить файл потока в тестовые файлы конфигурации. Тем не менее, я предпочитаю использовать Confluex Mock HTTP API для тестирования приложений с HTTP-исходящими конечными точками. Он устанавливает макет HTTP-сервера на localhost, где вы можете отвечать на разные вызовы с указанными данными и кодами ответов, чтобы вы могли запускать всевозможные сценарии сбоев. Настройте макет-сервер в методе @Before annotated в классе FunctionalTestCase и остановите его в методе @After, чтобы он был доступен для методов тестирования.

Mule документация дает основную информацию о том, как создавать функциональные тестовые случаи: http://www.mulesoft.org/documentation/display/current/Functional+Testing