0

在 Groovy/Grails 中,我如何在单元测试中实际断言 XML 格式映射的响应?这些示例并没有真正提供有关使用 XmlSlurper 访问映射键的良好文档...

<map><entry key="publicKeyEncoded">Data1</entry><entry key="privateKeyEncoded">Data2</entry></map>

我正在尝试

request.method = "POST"
response.format = "xml"
controller.generate()

assert response.xml.@publicKeyEncoded.text() != ""
assert response.xml.@privateKeyEncoded.text() != ""

这是服务生成的地图:

["publicKeyEncoded": encodedPublic, "privateKeyEncoded": encodedPrivate]
4

1 回答 1

3

与 XMLSlurper 一起使用@something时,您实际上在做的是提取名为something.

因此,在您的示例中,没有返回任何内容,因为根节点 ( )上response.xml.@publicKeyEncoded.text()没有调用任何属性。publicKeyEncodedxml

你可以做的是:

response.xml.entry.each{ assert it.@key != ''}

这将断言所有entry节点上的responsehtekey参数都有值。

于 2013-08-27T10:36:50.110 回答