【问题标题】:Grails 3.0.10 can't resolve MockForGrails 3.0.10 无法解析 MockFor
【发布时间】:2016-01-09 22:50:52
【问题描述】:

我正在尝试将现有的 Grails 2.2 插件移植到 Grails 3.0。因此,我宁愿避免重写它的单元测试,它使用MockFor

使用 grails create-plugin 创建了一个新的 3.0.10 插件,并将源文件复制到适当的新位置,当我运行 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)。

【问题讨论】:

  • 如果您可以在 github 上创建一个示例应用程序并共享它,那就太好了。

标签: grails grails-3.0


【解决方案1】:

我遇到了类似的问题。一个插件引入了旧版本的 Groovy (2.3.X)。我必须找到它并排除该插件所需的 groovy。

我的 build.gradle 文件现在有这个:

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

我通过 gradle dependencies 命令找到了这个。我查找了 groovy-all 条目,并找到了强制使用旧版本 groovy 的插件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 2011-04-09
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多