Существует два способа модульного тестирования контроллера, но это потребует некоторых изменений для вас.
Первое - это модульное тестирование самого контроллера, не добавляя сложности синтаксического анализа http, поэтому вы должны написать свой тестовый модуль и передать в качестве параметра своего модульного теста params.query, поэтому разделите свою функцию поиска на две части. функции:
def search = {
def query = params.query
render realSearch(query) as JSON
}
def realSearch ...
Итак, первая часть тестов realSearch
.
Затем вторая часть состоит в том, чтобы написать приложение, которое будет фактически подключаться к вашему веб-приложению, и провести функциональный тест, который проверит все ваше приложение, включая части контроллера, которые не были протестированы в первой части.