Grails - интеграционные тесты для проверки вызовов REST - PullRequest
0 голосов
/ 06 февраля 2011

Мы хотели бы добавить несколько интеграционных тестов для многих сервисов REST, которые предоставляет наше приложение Grails, вместо ручной проверки их с помощью плагина Firefox Poster, который мы используем в настоящее время.

Кстати, в нашем случае ДОЛЖЕН быть интеграционным тестом, а не модульным тестом.

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

`grails test-app -integration`

Запускает ли вышеприведенная команда функциональность, необходимую для самостоятельной публикации нашего собственного приложения (http://localhost/myapp)? Она должна пройти через конвейер сопоставления URL, согласование содержимого xml, безопасность Spring / acegi и т. Д.Если так, я полагаю, мы могли бы использовать Groovy RESTClient, как описано здесь: http://groovy.codehaus.org/modules/http-builder/doc/rest.html

Google говорит мне, что другой вариант - это плагин функционального тестирования: http://thediscoblog.com/2009/06/15/grails-hip-tip-testing-restful-services/

Любые комментарии или проблемыот опытного? Это приложение Grails 1.2.1 с использованием plugins.acegi = 0.5.2

Ответы [ 2 ]

0 голосов
/ 07 февраля 2011

Службы REST обычно создаются с помощью действий в контроллере, которые настроены в URLMappings для работы с различными методами HTTP (GET, PUT, POST, DELETE), поэтому, поскольку они являются простыми действиями в контроллере, тест интеграции можетбудь просто тестовым методом, который проверяет действие как любое другое, отправляя им нужный вам тип контента, например JSON, и передавая правильные данные в виде JSON, если этого ожидают ваши службы.

Вы можете создать несколько методов тестирования для одного и того же действия, чтобы проверить разностные ответы, например, если запрошен недопустимый ресурс, чем проверить, что служба возвращает правильный код ошибки 404, например.

0 голосов
/ 07 февраля 2011

То, что вы хотите, это

 grails test-app integration:

Согласно http://grails.org/doc/latest/ref/Command%20Line/test-app.html

...