Я пытаюсь создать модульный тест для класса обслуживания, который использует аргумент конструктора.Я уже настроил запись в grails-app / conf / spring / resources.groovy, чтобы позволить Spring создавать бин с использованием аргумента конструктора.
Запуск интеграционного теста для класса обслуживания работает без проблем, однакоПри выполнении модульного теста, использующего @TestFor, появляется следующее исключение:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sampleService': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [ph.jojopad.SampleService]: No default constructor found; nested exception is java.lang.NoSuchMethodException: ph.jojopad.SampleService.<init>()
at grails.test.mixin.services.ServiceUnitTestMixin.mockService(ServiceUnitTestMixin.groovy:54)
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [ph.jojopad.SampleService]: No default constructor found; nested exception is java.lang.NoSuchMethodException: ph.jojopad.SampleService.<init>()
Caused by: java.lang.NoSuchMethodException: ph.jojopad.SampleService.<init>()
Кажется, что @TestFor ожидает только компонент, использующий конструктор по умолчанию.Глядя на документацию Grails, я не могу найти никаких ссылок на то, как использовать @TestFor для bean-компонентов с аргументами конструктора.Я ожидал, что с правильной конфигурацией бина в grails-app / conf / spring / resources.groovy добьется цели.