我必须验证从函数获得的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