XMLUnit-2 сравнивает частичные XML - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть локальные test XML данные, как показано ниже

testLocal XML

<root>
  <elementA>something different</elementA>
  <elementB>something else</elementB>
  <elementC>yet another thing</elementC>
</root>

, но данные, которые я получаю с сервера может быть большим и будет динамически увеличиваться, например

Ответ сервера

<root>
  <elementA>something different</elementA>
  <elementB>something else</elementB>
  <elementC>yet another thing</elementC>
  <elementD>next data</elementD>
  <elementE>another data</elementE>
  <elementF>F data</elementF>
  .
  .
  ... so on...
</root>

Я не знаю, какую node я могу игнорировать, используя приведенные ниже логики c , Мой узел - динамический c.

.withNodeFilter(node -> !(node.getNodeName().equals("elementD") ||
                          node.getNodeName().equals("elementE"))

Здесь, поскольку ответ сервера - динамический c, и я продолжаю увеличивать, как я проверю любые данные, которые я упомянул в testLocal XML используя XMLUnit?

1 Ответ

0 голосов
/ 11 апреля 2020

Ну, я знаю элементы, которые меня интересуют, так что я легко могу сделать

  final Collection<String> expected = Arrays.asList("root", "elementA", elementB", "elementC");

И могу добавить фильтр как

  .withNodeFilter(n -> expected.contains(n.getNodeName()))
...