Интеграционный тест Grails RESTful Services - параметры не имеют содержимого - PullRequest
0 голосов
/ 04 ноября 2010

Граальс 1.3.5

Проблема в том, что я пытаюсь протестировать веб-сервис RESTful, который использует json. Я прочитал документы на grails.org и проверил их на примере книги. Я не могу получить параметры в контроллере, чтобы содержать какие-либо данные. Итак, я начал гуглить и наткнулся на это:

http://maricel -tech.blogspot.com / 2009/09 / Grails-хау к казнить-параметры-data.html

Но это даже не решило мою проблему. Кто-нибудь знает, есть ли что-то еще, что мне нужно сделать? Я бы показал свой код, но он идентичен тесту интеграции документов grails.org для книги, использующей json. Помимо интеграционного теста, я могу использовать плагин Firefox Post для публикации контента json в веб-сервисе, и он работает как положено. Только в интеграционном тесте это терпит неудачу. Благодаря.

Ответы [ 3 ]

0 голосов
/ 04 ноября 2010

это то, что я сделал в моем ControllerUnitTestCases

// set param 'queryString', using a map
controller.metaClass.getParams = {-> [queryString: "oil"] }

// I have read that this should work also
controller.request.params = [queryString: "oil"]
0 голосов
/ 09 января 2011

В моем случае я расширяю GroovyTestCase, я не использую GrailsUnitTestCase и ControllerUnitTest, так как я выполняю интеграционный тест, а не модульный тест.

Что-то важное - это указать тип контента в вашем контроллере, так как тип контента определяет, что именно связывает для запуска, просто выполните:

controller.request.contentType = "text/json"

Также убедитесь, что у вас есть parseRequest = true в вашем URLMappings.groovy для действия, которое вы пытаетесь протестировать. (Я думаю, что вы уже делаете, так как это работает для вас из интеграционного теста).

0 голосов
/ 04 ноября 2010

Я получил это для работы, расширив GrailsUnitTestCase, а не ControllerUnitTestCase.Может кто-нибудь объяснить мне, почему это так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...