Restlet позволяет вам запускать ваши веб-сервисы на различных серверных «коннекторах», и довольно легко переключаться с одного сервера на другой. Мы обычно запускаем наши веб-сервисы на кластере серверов приложений Sun Glassfish Java EE, но для их тестирования мы используем соединитель, который связывается с Simple HTTP Server для запуска веб-сервисов в качестве отдельного приложения. Также имеются разъемы для серверов AsyncWeb, Jetty, Grizzly и внутреннего HTTP-сервера.
На стороне клиента вы должны рассмотреть клиентскую библиотеку Restlet. Он довольно лаконичен и хорошо сочетается с серверами Restlet. Мы используем коннектор Apache HTTP Client.
Для тестирования мы создали класс Fetcher. Это реализовано с помощью клиентского API Restlet. Чтобы использовать его, вы в значительной степени вызываете метод fetch ():
DTO person = fetch("/employee/1234");
DTO department = fetch("/department/" + person.getDepartment());
Fetch () прикрепляет указанное имя ресурса к базовому URI веб-служб (скажем, "http://localhost:8182"), использует клиентский API Restlet для извлечения представления XML, затем десериализует извлеченный XML в объект передачи данных ( POJO).
Вы видите, что это действительно делает модульное тестирование довольно простым. Перед модульными тестами вы запускаете веб-сервисы на отдельном сервере, таком как Simple или Jetty. Во время модульных тестов вы выбираете DTO, деревья DOM, объекты json.org или что-либо еще с помощью Fetcher, а затем применяете тестовые утверждения к тому, что было возвращено. Если вам нужно провести тестирование на более детальном уровне, вы можете напрямую использовать код клиента Restlet.