我正在使用
在Spring MVC中,假设@Controller
使用@ResponseBody
返回以XML格式表示的域对象并通过print()
方法,我可以确认以下内容:
Body = <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<persona>
<id>100</id>
<nombre>Jesús Você</nombre>
<apellido>"Mão Nuñez"</apellido>
<fecha>2015-12-05T22:00:07.756-05:00</fecha>
</persona>
我有以下Spring MVC测试:
resultActions.andExpect(xpath("persona").exists())
.andExpect(xpath("persona").nodeCount(1))
.andExpect(xpath("persona/id").exists())
.andExpect(xpath("persona/id").string("100"))
.andExpect(xpath("persona/nombre").exists())
.andExpect(xpath("persona/nombre").string("Jesús Você"))
.andExpect(xpath("persona/apellido").exists())
.andExpect(xpath("persona/apellido").string("Mão Nuñez"))
.andExpect(xpath("persona/fecha").exists())
直到这里一切正常。
但是,再次,为:
<persona>
<id>100</id>
<nombre>Jesús Você</nombre>
<apellido>"Mão Nuñez"</apellido>
<fecha>2015-12-05T22:00:07.756-05:00</fecha>
</persona>
观察 persona 元素/节点包含四个元素:
如何通过xpath
我可以从该组字段/元素中的四个元素/节点获取数量?
与jsonPath
类似的内容,例如:
.andExpect(jsonPath('$.*', hasSize(4) ))
它也应该应用于集合:
<persona-collection>
<persona>
<id>88</id>
<nombre>Manuel</nombre>
<apellido>Jordan</apellido>
<fecha>2015-12-05T22:00:07.750-05:00</fecha>
</persona>
<persona>
<id>87</id>
<nombre>Leonardo</nombre>
<apellido>Jordan</apellido>
<fecha>2015-12-05T22:00:07.750-05:00</fecha>
</persona>
…
</persona-collection>
从我想要的集合的每个节点或元素确认它有四个元素/字段。
与jsonPath
类似的内容,例如:
.andExpect(jsonPath('$',hasSize(5)))
.andExpect(jsonPath('$[0]').exists())
.andExpect(jsonPath('$[0].*', hasSize(4)))
…
.andExpect(jsonPath('$[4]').exists())
.andExpect(jsonPath('$[4].*', hasSize(4)))
感谢。