2011-05-09 55 views
3

我有一個遺留應用程序,它通過JAX-RPC與第三方Web服務一起工作。現在我需要通過用測試數據模擬某些XML RPC調用來單元測試應用程序。實際上,我需要替換由應用程序使用的Apache Axis,由另一個符合JAX-RPC的庫來替換,但會返回我要求它返回的內容。我非常肯定,我並不孤單,有這樣的問題......有沒有任何開放源代碼庫用於此目的?如何模擬整個JAX-RPC通信會話?

回答

0

我已經取得了一些成功WireMock。這是一個Jetty服務器,您可以通過程序設置來響應某些您指定的內容的請求模式。我已經能夠設置它來響應來自我班的XML-RPC請求。例如,

stubFor(post(urlEqualTo("/RPC2")) 
     .withRequestBody(containing("<methodName>...</methodName>")) 
     .willReturn(aResponse() 
      .withBody("<methodResponse>...</methodResponse>"))); 
0

對於懲戒到外部服務的調用,您可以使用EasyMock+PowermockMockito 你可以做這樣的事情

Easymock.expect(your function calling external Systems).andReturn(your required output) 

希望這有助於!

祝你好運!