我已经实现了带有示例REST / HTTP请求模拟的基本WireMock。服务器代码实现如下。
使用此代码,我从邮递员发出GET请求(即GET http://127.0.0.1:8089/some/thing)时遇到以下错误。
由于该WireMock实例中没有存根映射,因此无法响应。
我的设置/代码中缺少什么?
import reportlab
主要功能是:
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();
}
}
在“ resources / testconfig”下,有一个名为mapping.json的文件,其中包含:
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();
}
}
答案 0 :(得分:0)
我找到了解决方案。因此,基本上,我们需要在“ testResource”变量标识的目录下创建一个名为“ mappings”(确切名称)的文件夹。因此,在上面的代码示例中,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"
}