Создание проекта для тестирования сервисов

Создание проекта для тестирования сервисов

Всем привет. Этот цикл статей будет полезен тем, кто хочет изучить процесс создания и тестирования REST API. Автоматизаторам это будет особенно полезно в том случае, если к REST-клиенту нет доступа или сервер не достаточно стабильный, но для дальнейшей разработки необходимо его тестирование. В таких случая довольно сложно провести автоматизированное тестирование. Выходом является создание заглушки, которая будет эмулировать работу сервера при обработке REST. Об этом и пойдет речь.

Dropwizard

Dropwizard – это Java-фреймворк, который позволяет строить  RESTful веб-сервисы. Он имеет хорошую документацию как создать проект с нуля. Использую его для создания своего. Шаги описаны ниже:

  1. Создать Maven проект
  2. Добавить зависимость Dropwizard
  3. Собрать проект Maven
  4. Добавить файл конфигурации
  5. Добавить класс конфигурации
  6. Добавить класс данных
  7. Добавить классы сервисов
  8. Проверить работоспособность
  9. Добавить приложение Dropwizard
  10. Собрать все в JAR файл
  11. Запустить собарнный файл
  12. Протестировать работоспособность сервисов

Создание проекта Maven

Убедитесь, что Maven установлен. Перейдите в директорию, в которой вы хотите создать проект. Выполните команду, где “groupId” –  название Java пакета и “artifactId” – название проекта:

Также преокт может быть создан со среды разработки (IntelliJ, Eclipse).

Добавление зависимости Dropwizard

Откройте файл pom.xml. Если проект создан с помощью команды Maven, то там должна находится секция <dependencies> с junit. Вы можете удалить ее и добавить вмето нее следующие строки.

Сборка проекта Maven

Перейдите в директорию проекта и выполните команду “mvn package”. Первый раз для сборки проекта неоходимо какое-то время, так как нужно подтянуть зависимости в репозиторий Maven. Как только сборка проекта закончится перейдите в выбранную вами IDE и перегрузите Maven JAR-файлы (для IntelliJ в контекстном меню проекта выберите Maven  -> Reimport).

Добавление файла конфигурации

Настройки Dropwizard управляются с помощью YAML, которые содержат ключ-значение разделенные двоеточием.  Добавьте файл “config.yml” к проекту. Добавьте в него следующую конфигурацию, настроенную на выбранные вами порты:

Добавление класса конфигурации

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

Создание класса данных

В нашем примере мы имеем класс Person, который имеет базовые атрибуты. Он имеет только методы возврата значений, которые имеют аннотацию @JsonProperty и позволяет Jackson сериализовать или десериализовать данные с JSON (для этих целей используется пустой конструктор).

Создание сервиса

Аннотация @Path определяет корневой урл для нашего сервиса. В нашем примере – это “/person” для всего класса и другие подпути для определенных операций. @GET и @POST определяют типы запросов. @Timed используется для аналитических целей. @Produces и @Consumes определяют типы данных.

Операции сервиса

Представленный класс отображает создание RESTful-сервиса при работе с данными пользователя. Работу 4 операций можно проверить по следующим ссылкам:

  • /person/get/{id} – при передаче “id” человека возвращает JSON с информацией о нем
  • /person/remove – удаляет одного с людей
  • /person/all – возвращает JSON с информацией о всех людях
  • /person/save – принимает JSON с информацией о человеке и сохраняет данные, если “id” уникален, если нет, то обновляет данные человека с существующим id.

В следующей статье мы добавим тестовые данные для манипуляции с сервисами и соберем JAR файл для запуска сервсиса.

RelatedPost