Как макетировать весь сеанс связи JAX-RPC? - PullRequest
3 голосов
/ 10 мая 2011

У меня есть устаревшее приложение, которое работает со сторонним веб-сервисом через JAX-RPC. Теперь мне нужно выполнить модульное тестирование приложения, имитируя определенные вызовы XML RPC с тестовыми данными. На самом деле мне нужно заменить Apache Axis , который используется приложением, на какую-то другую библиотеку, которая будет JAX-RPC-совместимой, но вернет то, что я говорю, чтобы она возвращалась. Я почти уверен, что я не один с такой проблемой ... Есть ли для этого библиотеки с открытым исходным кодом?

Ответы [ 3 ]

0 голосов
/ 05 декабря 2014

У меня был некоторый успех с WireMock .Это сервер Jetty, который вы настроили программно для ответа на определенные шаблоны запросов с указанным вами содержимым.Я был в состоянии настроить это, чтобы ответить на запросы XML-RPC от моего класса.Например,

stubFor(post(urlEqualTo("/RPC2"))
        .withRequestBody(containing("<methodName>...</methodName>"))
        .willReturn(aResponse()
            .withBody("<methodResponse>...</methodResponse>")));
0 голосов
/ 05 декабря 2014

Для прослушивания звонков на внешние услуги вы можете использовать EasyMock+Powermock или Mockito Вы можете сделать что-то вроде этого

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

надеюсь, это поможет!

Удачи!

0 голосов
/ 14 мая 2011

Вы можете сделать это с помощью Spring Framework и EasyMock.

Какая самая лучшая фреймворк для Java?

...