2016-01-07 3 views
4

Я пытаюсь найти простую универсальную тестовую платформу для служб Spring Rest MVC, основанных на Spring MVC.RestFuse vs Rest Assured vs MockMVC Framework Service Service Framework

Я искал в Интернете и сузили его до:

Мне нравится RestFuse потому что это в основном основанная на аннотациях, но, похоже, у вас есть более простой способ передачи параметров и проверки ответов. И, наконец, являясь проектом Spring MVC Rest Service, мне интересно, следует ли мне просто придерживаться уже установленного способа тестирования Rest Services весной с MockMVC.

Заинтересованы в получении любых отзывов, а также о результатах, прошлом опыте и, если есть что-то еще, я должен принять во внимание.

ответ

6

Rest-Assured получает одобрение по сравнению с другими платформами для тестирования служб REST на Java. Имея свободный интерфейс BDD, его легко читать тестовые скрипты также с минимальной кривой обучения.

Я использую эту фреймворк для проверки служб REST как конечного пользователя, и для них было проще реализовать тестовые сценарии для них. Поэтому я не могу много комментировать часть Spring MVC от REST-заверил.

Тем не менее, этот блог post дает вам более подробную информацию о RestAssured v2.2, который включает в себя модуль spring-mock-mvc, построенный на основе MockMVC, который дает BDD стиль беглому вкусу интерфейса через REST. Сообщение в блоге также предупреждает:

Когда не использовать его:

RestAssuredMockMvc не следует рассматривать полную замену к ванили MockMvc, поскольку она содержит более специфические особенности в сочетании с Spring MVC. Например, прямо сейчас нет поддержки первого класса для вещей, таких как flash-атрибуты и принципы. Вы можете добавить , используя interceptor. Standard REST Assured также поддерживает множество схем аутентификации и фильтров, которые не являются , доступными в API RestAssuredMockMvc. Еще одной причиной того, почему вы, возможно, хотите использовать стандартный REST Assured API, является то, что важно, чтобы ваша организация тестировала REST API в реальном контейнере (для примера , если вы сконфигурировали аутентификацию или авторизацию в контейнере в определенном виде ), или если вы используете JAX-RS (или любую другую структуру независимо от языка).

Наконец, посмотрите на REST-Гарантированный весна-MVC-веб-приложение examples в REST гарантированного кодовую, и решить, нравится ли вы дать попробовать для него и сделать наилучшим образом использовать как REST гарантированного и MockMVC.

4

Красота MockMVC заключается в том, что она обеспечивает макет контейнера сервлетов, позволяя вам интегрировать-тестировать ваши службы REST без развертывания на веб-сервере.Я считаю, что вы все еще можете использовать эту мощность при использовании REST Assured с модулем spring-mock-mvc.

Другие рамки, о которых я только что узнал, это Karate. Его автор в настоящее время экспериментирует с механизмом, позволяющим выполнять в макет-контейнере сервлетов (см. Ответ Питера Томаса Is there a mechanism for integration testing JAX-RS services without deploying (a la MockMVC)?).