Я рассматриваю возможность использования FitNesse для написания некоторых приемочных тестов для некоторых расширений RESTful API. Ответ GET включает в себя XML в анонимном пространстве имен, например,
<?xml version="1.0" encoding="utf-8"?>
<things xmlns="http://example.com/ns/">
<thing id="1"/>
<thing id="2"/>
</things>
Приспособление FitNesse RestFixture кажется хорошим кандидатом для этого. Это должно позволить мне запустить XPath для проверки ответа, но, похоже, это не очень хорошо работает с анонимными пространствами имен. Следующий тест не пройден, так как необходимо указать пространство имен:
|!-smartrics.rest.fitnesse.fixture.RestFixture-!|http://example.com/v1.0/inbox |
|GET | /things | 200 | | //thing |
Я не могу найти способ выразить XPath так, чтобы RestFixture успешно его проанализировал.
Пара заметок:
(a) Вы можете запрашивать атрибуты, потому что они не находятся в пространстве имен. Следующие передачи:
|GET | /things | 200 | | //@id |
(b) В другом месте предложено использовать сопоставление строк. Это неправильно - следующие передачи тоже!
|GET | /things | 200 | | 'complete and utter nonsense' |