我遇到了MockProperty实现的问题。我的测试目前失败了,因为出于某种原因,':'被编码为'%3A'。为什么会发生这种情况?我该如何做到这一点?
注意:在我的运行代码中(测试之外),这一切都很好。
Resource resource = resourceResolver.getResource("path_to_a_valid_resource_here");
Node node = resource.adaptTo(Node.class);
PropertyIterator properties = node.getProperties();
while (properties.hasNext()){
Property property = properties.nextProperty();
String name = property.getName();
}
答案 0 :(得分:1)
返回的String是UTF-8编码的。您可以通过调用String name = URLDecoder.decode(property.getName(), "UTF-8");
为什么首先对此进行编码对我来说是未知的,但我的猜测是将属性名称视为URL并随后在ASCII集中进行编码,从而将:
转换为{{ 1}}