каратэ не соответствует xml, полученному из функции - PullRequest
1 голос
/ 20 мая 2019

Я должен проверить фрагмент XML, полученный из функции, но совпадения также не выполняются, когда следует.

Чтобы объяснить мои потребности, я должен протестировать веб-сервис, который в ответ отправляет мыльное сообщение, содержащее в теле фрагмент xml, закодированный в base64. В моем тесте по каратэ я декодирую этот фрагмент с помощью функции и проверяю его с помощью нечеткого совпадения, но каждое совпадение также терпит неудачу.

Я сделал тест, в котором XML «A» определен явно, а XML «B» получен из функции, где A == B. Затем я определяю XML «C», который должен соответствовать обоим, но вместо этого соответствует только одна ясность определена.

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

Последний матч не удался, но должен пройти.

1 Ответ

2 голосов
/ 20 мая 2019

Всего одно маленькое изменение, и вы хороши:

* xml b = buildXml()

Причина: https://github.com/intuit/karate#type-conversion

...