Warm tip: This article is reproduced from serverfault.com, please click

Wiremock-一个文件中有多个存根

(Wiremock - Multiple stubs in one file)

发布于 2020-12-09 10:52:36

我正在尝试将多个存根分组到一个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

我想.jsonmappings下面创建一个文件


{
  "mappings" : [{
    
   ]}
}

但我得到以下异常

Unrecognized field "mappings" (class com.github.tomakehurst.wiremock.stubbing.StubMapping), not marked as ignorable

如果我尝试启动数组的json,也会遇到异常

无法在START_ARRAY令牌中反序列化java.lang.String实例

你对如何解决此问题有任何想法吗?谢谢。

Questioner
sewey
Viewed
0
agoff 2020-12-09 23:28:29

你的问题是mappings服务器启动时WireMock无法识别该字段。本质上,当WireMock启动并在mappings/目录中查找时,它希望每个映射都是一个单独的文件。WireMock接受某些字段为有效字段,而mappings不是其中之一。对WireMock服务器mappings执行操作时,只能通过数组添加多个映射POST

你的选择是:

  • mappings/目录中有多个映射文件,以便WireMock在启动时自动注册这些映射
  • 在启动没有映射的WireMock服务器之后POST/__admin/mappings/import使用mappings数组作为有效负载来对进行处理(source

我想我建议在mappings/目录中有不同的映射文件它可以更清楚地区分你要映射的呼叫。