Как написать тест (функционал, модуль, интеграция) для тестирования класса, который содержит конвертер (ы) 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 преобразователи.