空手道与从函数获取的 XML 不匹配



我必须验证从函数获得的XML片段,但匹配也会在应该时失败。

要解释我的需求,我必须测试一个Web服务,该服务在响应中发送了一个肥皂消息,该消息包含在Base64中编码的XML片段中。在我的空手道测试中,我用功能来解码该片段并用模糊匹配验证它,但是每场比赛也会在良好时失败。

我进行了一个测试,其中xml'a'是显着定义的,而xml'b"是从a == B的函数中获得的定义的一个显式。

Feature: 
Background:
* def buildXml = 
"""
function(param){ 
    return '<root><hello>world</hello><foo>bar</foo></root>';
}
"""
Scenario: 
* def a = <root><hello>world</hello><foo>bar</foo></root>
* def b = buildXml()
* def c =
"""
<root>
    <hello>world</hello>
    <foo>#ignore</foo>
</root>
"""
* match a == b
* match a == c
* match b == c

最后一场比赛失败,但应该通过。

只有一个小变化,你很好:

* xml b = buildXml()

原因:https://github.com/intuit/karate#type-conversion

最新更新