[英]Wiremock and XPath attribute testing
假设我有一个包含以下代码段的 XML 请求
<foo bar="12356"/>
我的服务将此代码段发送到另一个服务以执行操作。 该服务需要一个具有bar
属性且没有文本节点的foo
节点。 以下表达式与该节点匹配得很好
//foo[@bar='12356']
问题是 Wiremock 期望文本节点出现在匹配的foo
节点中,因此,它认为前面的表达式不匹配。
使用wiremock你如何测试XML匹配属性而不是文本节点?
根据 XPath 规范,命名空间很重要。 如果 xml 文件如下
<?xml ...>
<Envelope>
<foo bar="12356"/>
</Envelope>
然后提供的 XPath 表达式将起作用。 但是一旦你添加了xmlns=
声明,你的节点就不再是foo
而是"[xmlns]":foo
。 结果, //foo
只匹配无前缀的foo
元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.