Ошибка Wiremock - в этом экземпляре WireMock нет сопоставлений заглушек - PullRequest
0 голосов
/ 16 февраля 2019

Я реализовал базовый WireMock с примером моделирования запроса REST / HTTP.Код сервера реализован, как показано ниже.

С этим кодом я получаю следующую ошибку при отправке запроса GET от Почтальона (т. Е. GET http://127.0.0.1:8089/some/thing).

Ответ не может быть получен, так как нетсопоставления заглушки в этом экземпляре WireMock.

Чего не хватает в моей настройке / коде?

import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.core.WireMockConfiguration;

public class MockApp {

    private WireMockServer wireMockServer;

    public MockApp(String testSpec) {
        wireMockServer = new WireMockServer(WireMockConfiguration.options().
                port(8089).
                usingFilesUnderDirectory(testSpec).
                disableRequestJournal());
    }

    public void start() {
        wireMockServer.start();
    }

    public void stop() {
        wireMockServer.stop();
    }
}

Основная функция:

public class MockMain {

    public static void main(String[] args) {

        String baseDir = System.getProperty("user.dir");
        String testResource = baseDir + "/resources/testconfig/";

        MockAMS mockAMS = new MockAMS(testResource);

        mockAMS.start();
    }
}

Under 'resources / testconfig ', есть файл mapping.json, содержащий:

{
  "request": {
    "method": "GET",
    "url": "/some/thing"
  },
  "response": {
    "status": 200,
    "body": "Hello world!",
    "headers": {
      "Content-Type": "text/plain"
    }
  }
}

1 Ответ

0 голосов
/ 19 февраля 2019

Я нашел решение для этого.Итак, в основном нам нужно создать папку с именем «mappings» (точное имя) в каталоге, указанном в переменной «testResource».Таким образом, в приведенном выше примере кода файл mapping.json будет храниться по адресу: «MockApp / resources / testconfig / mappings / mapping.json».

Когда это будет сделано, будет напечатан следующий вывод.Как видно из журналов, «Размер сопоставления заглушки равен 1».Это будет напечатано, как только вы добавите следующую строку в код.

System.out.println("Stub mapping size: " + wireMockServer.getStubMappings().size());

Stub mapping size: 1
{
  "id" : "da5735a6-b6cc-45aa-8256-fb88b5670610",
  "request" : {
    "url" : "/some/thing",
    "method" : "GET"
  },
  "response" : {
    "status" : 200,
    "body" : "Hello world!",
    "headers" : {
      "Content-Type" : "text/plain"
    }
  },
  "uuid" : "da5735a6-b6cc-45aa-8256-fb88b5670610"
}
...