Wiremock Stubbing не работает

Я только начал использовать Wiremock, и у меня есть вопрос о заглушках.

Из документации кажется, что вы можете использовать либо файл JSON в сопоставлениях, либо код stubFor(get(urlEqualTo(... в своем коде Java. Однако я обнаружил, что использование stubFor(get(urlEqualTo( приводит к появлению сообщений «Запрос не найден» в консоли Wiremock.

Это правильное поведение? Нужен ли для заглушки и код, и файл json?

Спасибо.


person angusrose    schedule 29.06.2017    source источник
comment
Поведение кажется мне правильным. Запрос не соответствует просто означает, что вы сделали запрос, но он не соответствует запросу, который вы скопировали.   -  person djangofan    schedule 05.02.2019


Ответы (3)


Нет, wiremock может работать только с файлами .json или только с кодом java. Если хотите, можете комбинировать.

Если запрос не соответствует, значит, URL-адрес неправильно вставлен в заглушку. Если вы используете автономный процесс, вы можете запустить его с помощью --verbose, чтобы найти подробную информацию, почему запрос не был найден.

person Daniel P.    schedule 11.09.2017

WireMock может работать только с полезными нагрузками JSON в сопоставлениях. Похоже, что с вашей конфигурацией что-то еще происходит, но мне нужны более подробные сведения для диагностики.

person suite22    schedule 07.07.2017

Не обязательно. Я пробовал код ниже, и это сработало для меня:

import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.get;
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
import com.github.tomakehurst.wiremock.WireMockServer;

public class WireMockTest {
    public static void main(String[] args) throws InterruptedException {
        WireMockServer wireMockServer1 = new WireMockServer();  
        wireMockServer1.start();
        wireMockServer1.stubFor(get(urlEqualTo("/testWireMock"))
                       .willReturn(aResponse().withHeader("Content-Type", "text/plain")
                       .withStatus(200).withBody("Welcome to WireMock!")));
        System.out.println("Server started");
        Thread.sleep(1000);
        wireMockServer1.stop();
    }
}
person Neha Agrawal    schedule 10.01.2018
comment
Это ничего не доказывает. Этот пример заглушает ответ, но никогда не вызывает его, чтобы доказать, что он работает. - person djangofan; 04.02.2019