2014-02-07 38 views
0

我有一個基本的Mule ESB應用程序,其基本流程如下: 「Http入站端點(請求 - 響應模式) - >記錄器 - > HTTP出站端點(請求響應模式) - > Java組件「Junit測試以測試Mule流中的Http出站端點

查詢:如何編寫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 Inbound Endpoint和一個用於設置有效負載的test:組件創建測試流,並將流文件添加到測試配置文件中。但是,我更願意使用Confluex Mock HTTP API來測試具有HTTP出站端點的應用程序。它在本地主機上建立一個模擬HTTP服務器,您可以在其中使用指定的數據和響應代碼響應不同的呼叫,因此您也可以運行各種故障情況。在FunctionalTestCase類的@Before註釋方法中設置模擬服務器,並在@After方法中停止它,以便它可用於測試方法。

騾子文檔提供了關於如何創建功能測試用例的一些基本信息:http://www.mulesoft.org/documentation/display/current/Functional+Testing