Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Эмуляция SOAP и REST web-сервисов (опрос)

emulator
mock
Теги: #<Tag:0x00007f7b6591d0b0> #<Tag:0x00007f7b6591cd90>

(rmerkushin) #1

Всем доброго времени суток!

Народ, напишите пожалуйста, кто и что использует для создания моков веб-сервисов.

P.S.: на данный момент сам пользуюсь SoapUI и в некоторых случаях самописными моками.


(Сергей Блохин) #2

http://httpbin.org
http://webmock.io


(Тимур Исхаков) #3

SoapUI и пользуюсь.
Иногда, когда я слишком ленив что бы ждать запуска SoapUI запускаю скрипт питонячий, который чисто пишет пришедшее в лог, и отдает http status 200


(Владимир Фролов) #4

WireMock java библиотека, но может работать как standalone. Есть REST API.
Параметры моков можно конфигурировать прямо из кода тестов. Есть возможность валидировать корректность отправляемых запросов, + возможность имитировать таймауры, ошибки и т.д.

Пример из документации:

@Rule
public WireMockRule wireMockRule = new WireMockRule(8089); 
 
@Test
public void exampleTest() {
    stubFor(get(urlEqualTo("/my/resource"))
            .withHeader("Accept", equalTo("text/xml"))
            .willReturn(aResponse()
                .withStatus(200)
                .withHeader("Content-Type", "text/xml")
                .withBody("<response>Some content</response>")));

    Result result = myHttpServiceCallingObject.doSomething();

        assertTrue(result.wasSuccessFul());

        verify(postRequestedFor(urlMatching("/my/resource/[a-z0-9]+"))
            .withRequestBody(matching(".*<message>1234</message>.*"))
            .withHeader("Content-Type", notMatching("application/json")));
}