我们使用 REST-assured 框架在 Java 中进行一些单元/集成测试。
来自 REST 服务的 XML 答案与此类似:
<?xml version="1.0" encoding="UTF-8"?>
<Items xmlns="urn:service:com:namespace:item/1"
returned="3" found="3">
<ItemRef object="urn:svc:com:car:item:123456" type="door">door-123456.pdf</ItemRef>
<ItemRef object="urn:svc:com:car:item:983425" type="mirror">mirror-43562577.pdf</ItemRef>
<ItemRef object="urn:svc:com:car:item:983425" type="wheel" >door-94584854.pdf</ItemRef>
</Items>
在我的测试中,我有兴趣通过读取这样的属性来检查返回的项目returned
数
givenOK()
.expect()
.body("Items.@returned", equalTo("3")) // this is a string
.when()
.get(myurl)
而且效果很好
现在我还想用相同的逻辑控制 xmlns 中的 URN 是否正确:
givenOK()
.expect()
.body("Items.@returned", equalTo("3")) // this is a string
.body("Items.@xmlns", equalTo("urn:service:com:namespace:item/1"))
.when()
.get(myurl)
但是当我的测试运行时,表达式Items.@xmlns
似乎没有返回属性的值而是空的:[]
知道为什么这不起作用吗?