2015-12-21 88 views
0

我试图将现有的Grails 2.2插件移植到Grails 3.0。因此,我宁愿避免重写它的单元测试,它使用MockForGrails 3.0.10无法解析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和改变grailsVersion3.0.9似乎工作(无论是否我告诉SDK使用3.0.9或3.0.10)。

+0

如果您可以通过github创建示例应用程序并共享它,那将是非常好的。 –

回答

0

我有类似的问题。一个插件正在拉动旧版本的Groovy(2.3.X)。我必须找到它并排除该插件所需的groovy。

的build.gradle文件现在有这样的:

compile("org.gebish:geb-junit4:0.10.0") { 
    exclude group: 'org.codehaus.groovy', module: 'groovy-all' 
} 

我发现这与gradle这个依赖命令。我寻找groovy-all条目,并发现强制更旧版本groovy的插件。