Wiremock - 一个文件中的多个存根
Wiremock - Multiple stubs in one file
我正在尝试将多个存根组合到一个 JSON 文件中。
我已经准备好阅读这篇文章 post:
还有这个 https://github.com/tomakehurst/wiremock/issues/987https://github.com/tomakehurst/wiremock/issues/987
但我还是做不到。
目前,我有以下class:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureWireMock(port = 0, stubs = "classpath:/stubs/mappings", files = "classpath:/stubs")
public class ConfigurationTest {
@Autowired
protected WireMockServer wireMockServer;
}
在我的 test/java/resources
文件夹中,我有:
mappings
具有不同存根的文件夹
我想要一个包含 mappings
.
中所有存根的文件
我尝试在 mappings
下创建一个 .json
文件,如下所示:
{
"mappings" : [{
]}
}
但我得到以下异常
Unrecognized field "mappings" (class com.github.tomakehurst.wiremock.stubbing.StubMapping), not marked as ignorable
如果我尝试 json 启动一个数组,我也会遇到异常
无法从 START_ARRAY 令牌中反序列化 java.lang.String 的实例
你知道如何解决这个问题吗?
谢谢。
您的问题是服务器启动时 mappings
不是 WireMock 可识别的字段。本质上,当 WireMock 启动并查看 mappings/
目录时,它希望每个映射都是一个单独的文件。 WireMock 接受某些字段为有效字段,mappings
不是其中之一。在对 WireMock 服务器执行 POST
时,您只能通过 mappings
数组添加多个映射。
您的选择是:
- 在
mappings/
目录中有多个映射文件,这样WireMock会在启动时自动注册这些映射
- 在没有映射的情况下启动 WireMock 服务器后,使用您的
mappings
数组作为有效载荷执行 POST
到 /__admin/mappings/import
(source)
我想我会建议在 mappings/
目录中放置不同的映射文件。它允许更清楚地分离您拥有映射的调用。
我正在尝试将多个存根组合到一个 JSON 文件中。
我已经准备好阅读这篇文章 post:
但我还是做不到。
目前,我有以下class:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureWireMock(port = 0, stubs = "classpath:/stubs/mappings", files = "classpath:/stubs")
public class ConfigurationTest {
@Autowired
protected WireMockServer wireMockServer;
}
在我的 test/java/resources
文件夹中,我有:
mappings
具有不同存根的文件夹
我想要一个包含 mappings
.
我尝试在 mappings
下创建一个 .json
文件,如下所示:
{
"mappings" : [{
]}
}
但我得到以下异常
Unrecognized field "mappings" (class com.github.tomakehurst.wiremock.stubbing.StubMapping), not marked as ignorable
如果我尝试 json 启动一个数组,我也会遇到异常
无法从 START_ARRAY 令牌中反序列化 java.lang.String 的实例
你知道如何解决这个问题吗? 谢谢。
您的问题是服务器启动时 mappings
不是 WireMock 可识别的字段。本质上,当 WireMock 启动并查看 mappings/
目录时,它希望每个映射都是一个单独的文件。 WireMock 接受某些字段为有效字段,mappings
不是其中之一。在对 WireMock 服务器执行 POST
时,您只能通过 mappings
数组添加多个映射。
您的选择是:
- 在
mappings/
目录中有多个映射文件,这样WireMock会在启动时自动注册这些映射 - 在没有映射的情况下启动 WireMock 服务器后,使用您的
mappings
数组作为有效载荷执行POST
到/__admin/mappings/import
(source)
我想我会建议在 mappings/
目录中放置不同的映射文件。它允许更清楚地分离您拥有映射的调用。