2011-07-15 19 views
0

我正在編寫一個應用程序,它使用AXIS2執行多個Web服務,在我的端到端測試中遇到了一些問題,這些問題是我的客戶端未處理某些響應的結果。你會如何去嘲諷AXIS 2網絡方法調用?

我得到了導致此問題的SOAP信封我在想是否有方法模擬我的AXIS方法調用,以便他們給我任何響應對象AXIS2會給我一個給定的SOAP響應。

回答

0

我會建議一個像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接口,它 會讓你上面迷上了迴應。