Как бы вы пошли насчет вызова веб-метода AXIS 2? - PullRequest
0 голосов
/ 15 июля 2011

Я кодирую приложение, которое выполняет несколько веб-сервисов, используя AXIS2, я столкнулся с некоторой проблемой во время моих сквозных тестов, которые являются результатом того, что мой клиент не обрабатывает определенные ответы.

У меня есть конверты SOAP, которые вызывают проблему. Мне было интересно, есть ли способ смоделировать вызовы моих методов AXIS, чтобы они давали мне любой объект ответа, который AXIS2 дал бы мне для данного ответа SOAP.

1 Ответ

0 голосов
/ 15 июля 2011

Я бы предложил такой инструмент, как EasyMock . Я использовал это для тестирования ответов Axis 1.4, и это работало довольно хорошо. По сути, вы просто сообщаете ему, какой интерфейс вы хотите смоделировать (в моем случае я использовал заглушку, сгенерированную Axis из WSDL), и она возвращает вам реализацию. Затем вы можете зарегистрировать ответы, которые вы ожидаете от фиктивной реализации, которые вы можете использовать для тестирования остальной части вашего кода.

В качестве быстрого примера вы можете сделать

/* 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" );

Теперь просто запустите ваш код, который использует ваш мыльный интерфейс, и он получит ответ, который вы подключили выше.

...