当前位置: 首页 > 知识库问答 >
问题:

XMLUnit忽略元素顺序

萧浩漫
2023-03-14

现在,如果我使用以下代码进行比较,我将在XMLUnit的帮助下相互比较两个xml文件

@Test
public void testForEquality() throws Exception {
 String xml1 = "<table = "01"><uid></uid></table><table = "02"><uid></uid></table>";
 String xml2 = "<table = "02"><uid></uid></table><table = "01"><uid></uid></table>";
 assertXMLEqual(myControlXML, myTestXML);
 Diff diff = new Diff(myControlXML, myTestXML);
 assertTrue(diff.similar());
}

现在它给出了:预期的属性值'02',但是'01',但我不希望有差异,我希望表id是唯一的,如果在另一个文件中看到相同的表id,则只检查本例中的Main-Element:table->包含什么。

共有1个答案

史洛城
2023-03-14

您需要告诉XMLUnit应用哪些规则来标识应该相互匹配的表元素。您可以通过配置ElementQualifier来实现这一点--在您的示例中,您需要使用内置的ElementNameandAttributeQualifier,将标识属性的名称作为构造函数参数传递。

 类似资料:
  • 我需要比较使用自定义差异侦听器忽略子节点序列和属性列表序列的2个XML: 我的代码适用于: 我找到了一个临时的解决方案(8小时内不能在我自己的问题上添加评论): 我之前用:ElementNameAndAttributeQualifier重写了ElementQualifier,如果我将其更改为RecursiveElementNameAndTextQualifier,我可以得到我想要的结果 还可以使用

  • 问题内容: 假设我有两个xml字符串 如何编写一个比较这两个字符串并忽略元素顺序的测试? 我希望测试尽可能短,没有10行XML解析等的位置。我正在寻找一个简单的断言或类似内容。 我有这个(不起作用) 问题答案: 我原来的答案已经过时了。如果必须再次构建它,我将使用xmlunit 2和xmlunit- matchers。请注意,对于xml单元,不同的顺序始终是“相似”而不是相等。 如果有人仍然不想使

  • 问题内容: 有没有一种方法告诉DB-Unit忽略应该比较行的顺序?我的问题是,我不知道将以什么顺序将行写入数据库,但是DB-Unit强迫我给出一个有序列表。 我想要dbunit做的是: 检查数据库中的行数与预期的数据集是否匹配(已解决:开箱即用 检查是否仅在结果集中找到每一行。(不解决) 有任何想法吗? 问题答案: 为我解决了这个问题。我正在对实际表和预期表的行进行排序。因此,我使用可以在期望表中

  • 问题内容: HTML中是否有任何方法告诉浏览器不允许对特定元素进行标签索引? 在我的页面上,尽管有一个用jQuery呈现的杂耍,但是当您通过Tab进行制表时,您会在按下Tab控件移动到页面上的下一个可见链接之前获得大量的制表符按下,因为所有通过制表的内容都被隐藏了。视觉上的用户。 问题答案: 您可以使用。 W3C HTML5规范支持负的值: 如果值为负整数 ,则用户代理必须设置元素的tabinde

  • 我初始化了一些元素,但不是我的锚窗格: 但是当我尝试单击MenuBar或List View时,它不起作用。例如,在这种情况下,我可以单击按钮(可能),因为它是我在AnchorPane构造函数中初始化的最后一个元素。我不能使用BorderPane或任何其他布局,因此我需要找到具有此配置的解决方案。这些是我的fxml文件: list.fxml 菜单栏。fxml rea.fxml 按钮fxml text