Персональные инструменты
 

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

Материал из CustisWiki

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

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск

Приглашаем на конференцию «Application Developer Days-2011»!

Задай вопросы председателю ПК (или ответь на пару вопросов и получи большую «скидку от шефа»)…

Конференция Application Developer Days-2011 приглашает участников и докладчиков!

Докладчик
Дмитрий Всехвальнов
Презентация
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-аналога.


Внимание! Данная статья выбрана для репликации во внешнюю базу знаний компании. Пожалуйста, не допускайте в этой статье публикацию конфиденциальной информации, ведения обсуждений в теле статьи, и более ответственно относитесь к качеству самой статьи — проверяйте орфографию, пишите по-русски, избегайте непроверенной вами информации.