Unit testing with XML (Дмитрий Всехвальнов, AgileDays-2008)

Материал из CustisWiki

Версия от 18:33, 18 апреля 2011; StasFomin (обсуждение | вклад)

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск
Докладчик
Дмитрий Всехвальнов
Презентация
http://agilerussia.ru/files/agiledays/Vskehvalnov.XmlUnitTesting.pdf

Видео в HD-качестве, смотрите в полноэкранном режиме.

HTML-код включения <iframe src="http://player.vimeo.com/video/5519937?byline=0&portrait=0" width="720" height="400" frameborder="0"></iframe>


По сути доклад был посвящен исключительно использованию библиотеки XmlUnit для написания unit-тестов, связанных с проверкой корректности сформированного XML-я.

Доклад состоял из двух частей:

Дмитрий Всехвальнов на AgileDays-2008.jpg

1. перечисления задач, которые возникают при написании тестов на сформированный XML:

  • проверка эквивалентности структур с учетом и без таких нюансов как: неймспейсы, порядок атрибутов и тегов, пробельные символы, комментарии, управляющие конструкции;
  • вычисление XPath-выражений;
  • валидация по XSD/DTD;
  • XSLT-трансформации;
  • работа с разными XML и XSLT-процессорами.

2. живой демонстрации по написанию несложных тестов на Java:

  • проверка по точному совпадению;
  • проверка с игнорирование отдельных атрибутов (по их именам);
  • проверка с игнорированием целых узлов и их содержимого (опять же, по именам тегов);
  • валидация по XSD;
  • проверка существования узла по XPath-выражению;
  • проверка совпадения значения, извлеченного по XPath-выражению.

По сути, библиотека XmlUnit — это набор готовых ASSERT-ов для JUnit-а (Java-версия библиотеки) и NUnit-а (.Net-версия библиотеки). При этом .Net-версия, судя по описанию на сайте, развита значительно слабее своего Java-аналога.


Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».


Репликация: База Знаний «Заказных Информ Систем» → «Unit testing with XML (Дмитрий Всехвальнов, AgileDays-2008)»