Grails 4: Как протестировать код, который зависит от конвертеров (например, «as JSON») - PullRequest
0 голосов
/ 21 апреля 2020

Как написать тест (функционал, модуль, интеграция) для тестирования класса, который содержит конвертер (ы) Grails? Как минимум, я должен иметь возможность написать работающий интеграционный тест.

Пример: следующая строка отлично работает вне области тестирования, но не проходит ни в модульных тестах, ни в интеграционных тестах:

def json= "{}" as JSON

с GroovyCastException: Cannot cast object '{}' with class 'java.lang.String' to class 'grails.converters.JSON'. Ожидаемый результат заключается в том, что возвращается тип JSON.

Похоже, что та же проблема с более ранними версиями в GRAILS-4715 , однако она была закрыта, поэтому я предполагаю, что она была исправлена , В Grails 3.X эту проблему можно обойти следующим образом: Как выполнить модульное тестирование службы Grails, использующей конвертер? . Однако ни один из представленных обходных путей не работает в Grails 4.X. Я попытался вручную включить и зарегистрировать конвертеры так же, как это было сделано в Grails 3 с @TestMixin, но для меня это был тупик.

Использование Grails версии 4.0.3.

Я также открыл для этого билет в проект Grails https://github.com/grails/grails-core/issues/11521 в надежде на долгосрочное решение проблемы или хотя бы некоторую документацию о том, как протестировать этот общий вариант использования Grails преобразователи.

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