Grails 3.0.10 не может разрешить MockFor
Я пытаюсь портировать существующий плагин Grails 2.2 на Grails 3.0. Поэтому я бы предпочел не переписывать свои модульные тесты, которые используют MockFor
Создав новый плагин 3.0.10 с grails create-plugin
и скопировал исходные файлы в соответствующие новые места при запуске grails test-app
Я получил:
{path}/FooControllerTests.groovy: 4: unable to resolve class groovy.mock.interceptor.MockFor
@ line 4, column 1.
import groovy.mock.interceptor.MockFor
^
Я еще ничего не сделал для build.gradle
,
$ grails --version
| Grails Version: 3.0.10
| Groovy Version: 2.4.5
| JVM Version: 1.7.0_91
... показ документации Groovy 2.4.5 API groovy.mock.interceptor.MockFor
должен присутствовать: http://docs.groovy-lang.org/2.4.5/html/gapi/index.html?groovy/mock/interceptor/MockFor
Что мне не хватает?
РЕДАКТИРОВАТЬ:
Модификация gradle.properties и изменение grailsVersion
в 3.0.9
кажется, работает (независимо от того, скажу ли я SDK использовать 3.0.9 или 3.0.10).
1 ответ
У меня была похожая проблема. Плагин загружал старую версию Groovy (2.3.X). Я должен был найти его и исключить заводной плагин.
Мой файл build.gradle теперь имеет это:
compile("org.gebish:geb-junit4:0.10.0") {
exclude group: 'org.codehaus.groovy', module: 'groovy-all'
}
Я нашел это с помощью команды gradle зависимости. Я искал записи groovy-all и нашел плагин, который использовал более старую версию groovy.