我正在模拟一个在请求正文中大量使用JSON的API,并且尝试为具有不同JSON正文的请求创建可读的静态映射文件。
我不是为请求正文创建较长的JsonPathMatcher模式字符串,而是希望利用Reqest的BodyAsJson标签仅定义我要匹配的确切请求正文。
这似乎可以解析,但是没有按我预期的那样工作。我认为WireMock.Net会在映射文件和请求中反序列化JSON,然后对两个结果对象进行引用相等性以查看它们是否相同,而自然不相同。
是否有更好的方法可以完成这项工作?
答案 0 :(得分:1)
WireMock.Net(1.0.4.x)的新版本将在主体匹配器中支持真实的JSON对象。不再需要定义转义的字符串。
映射(以JSON格式)如下所示:
{
"Guid": "debaf408-3b23-4c04-9d18-ef1c020e79f3",
"Request": {
"Path": {
"Matchers": [
{
"Name": "WildcardMatcher",
"Pattern": "/jsonbodytest2",
"IgnoreCase": false
}
]
},
"Methods": [
"post"
],
"Body": {
"Matcher": {
"Name": "JsonMatcher",
"Pattern": {
"x": 42,
"s": "s"
}
}
}
},
"Response": {
"StatusCode": 200,
"Body": "{ \"result\": \"jsonbodytest2\" }"
}
}