0
我正在編寫一個應用程序,它使用AXIS2執行多個Web服務,在我的端到端測試中遇到了一些問題,這些問題是我的客戶端未處理某些響應的結果。你會如何去嘲諷AXIS 2網絡方法調用?
我得到了導致此問題的SOAP信封我在想是否有方法模擬我的AXIS方法調用,以便他們給我任何響應對象AXIS2會給我一個給定的SOAP響應。
我正在編寫一個應用程序,它使用AXIS2執行多個Web服務,在我的端到端測試中遇到了一些問題,這些問題是我的客戶端未處理某些響應的結果。你會如何去嘲諷AXIS 2網絡方法調用?
我得到了導致此問題的SOAP信封我在想是否有方法模擬我的AXIS方法調用,以便他們給我任何響應對象AXIS2會給我一個給定的SOAP響應。
我會建議一個像EasyMock這樣的工具。我用它來測試Axis 1.4響應,它工作得很好。基本上你只是告訴它你想要模擬的接口(在我的例子中,我使用了來自WSDL的Axis生成的存根),它給了你一個實現。然後,您可以註冊您希望從模擬實現中得到什麼樣的響應,您可以使用它來測試其餘的代碼。
作爲一個簡單的例子,你可以做
/* Soap stub generated by Axis */
public interface ASoapStub {
public String remoteSoapMethod(int param);
}
/* Test code */
ASoapStub soapStub = EasyMock.createNiceMock(ASoapStub.class);
EasyMock.expect(soapStub.remoteSoapMethod(5)).andReturn("expected string");
現在只需運行代碼,後者使用SOAP接口,它 會讓你上面迷上了迴應。