Есть ли пакет Java для тестирования API RESTful? - PullRequest
5 голосов
/ 13 апреля 2010

Я собираюсь погрузиться в тестирование службы RESTful. Большинство наших систем построены на Java и Eclipse, поэтому я надеюсь остаться там.

Я уже нашел rest-client (http://code.google.com/p/rest-client/) для проведения ручного и поискового тестирования, но есть ли стек java-классов, которые могут облегчить мою жизнь? но хотелось бы вспомогательные библиотеки, которые могут сэкономить мне время.

Я нашел http4e (http://www.ywebb.com/), но мне бы очень хотелось что-то FOSS.

Ответы [ 6 ]

9 голосов
/ 24 мая 2011

Вы можете использовать REST Assured , что позволяет очень легко тестировать и проверять службы REST в Java из JUnit или TestNG. Например. скажем, запрос GET к сервису с именем "/ lotto" возвращает следующий JSON

{ "lotto":{ "lottoId":5, "winning-numbers":[2,45,34,23,7,5,3], "winners":[{ "winnerId":23, "numbers":[2,45,34,23,3,5] },{ "winnerId":54, "numbers":[52,3,12,11,18,22] }] } }

тогда вы можете сделать запрос и проверить ответ (в данном случае это лотерейный идентификатор, равный 5) с REST Assured следующим образом:

expect().body("lotto.lottoId", equalTo(5)).when().get("/lotto");
3 голосов
/ 13 апреля 2010

Будет ли JMeter вариантом? У него есть сэмплеры HTTP Request, которые поддерживают все методы и утверждения HTTP для проверки ответа.

Другой альтернативой может быть что-то вроде soapUI, который имеет API, который может быть интегрирован с вашими тестами, хотя я не пробовал.

1 голос
/ 17 сентября 2012

Еще одним неофициальным вариантом для тестирования ваших REST-сервисов является использование Firefox RESTClient Add-on . Почтовый клиент REST для Google Chrome - еще один вариант.

1 голос
/ 14 апреля 2010

CXF , очевидно, имеет поддержку REST . Я еще не пробовал поддержку REST, но я думаю, что CXF - это превосходная, гибкая, основанная на стандартах реализация веб-сервиса.

0 голосов
/ 23 ноября 2014

Я работал сегодня над модульным тестированием службы отдыха, мне нужно было протестировать развернутый сервер, чтобы проверить некоторые требования параллелизма, поэтому мне нужно было протестировать службу отдыха развертываний.

Сначала я попробовал решение, предложенное Йоханом, и начал с REST Assured с некоторыми успехами, но поищите больше документации, я нашел это:

http://uttesh.blogspot.com/2012/09/spring-rest-web-service-test.html

он основан на библиотеке Spring, поэтому, если вы используете Spring, вы будете продолжать использовать материалы того же производителя, что всегда приятно.

Также я нашел, что libs из весны легче понять, чем REST Assured, но это только я;)

0 голосов
/ 14 апреля 2010

Очевидно, rest-client имеет встроенную библиотеку. Я использую ее с testNG и XStream, и, похоже, именно это и прописал доктор.

...