我正在尝试将多个存根分组到一个JSON文件中。
我已经准备好阅读这篇文章: 加载Wiremock存根文件 ,这一个 https://github.com/tomakehurst/wiremock/issues/987https://github.com/tomakehurst/wiremock/issues/987
但我仍然无法使其正常工作。
目前,我有以下课程:
@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
。
我想.json
在mappings
下面创建一个文件:
{
"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服务器mappings
执行操作时,只能通过数组添加多个映射POST
。
你的选择是:
mappings/
目录中有多个映射文件,以便WireMock在启动时自动注册这些映射POST
,/__admin/mappings/import
使用mappings
数组作为有效负载来对进行处理(source)我想我建议在mappings/
目录中有不同的映射文件。它可以更清楚地区分你要映射的呼叫。