【问题标题】:Regression of IntelliJ IDEA 14 support for Spock Framework?IntelliJ IDEA 14 对 Spock 框架的支持回归?
【发布时间】:2015-01-07 18:03:06
【问题描述】:

从 IDEA 13.1.x 升级到 14.x(目前为 14.0.2)后,我发现对 Spock Framework Mock() 和 Stub() 方法的支持变得更糟了。

更具体地说,我的意思是使用闭包进行存根/模拟的内联方法,例如:

MyType stub = Stub {
    myMethod() >> { /* do something */ }
}

IDEA 13 知道存根类型的可用方法,在下面的屏幕截图中可见。

size() 方法没有下划线。它可以导航到、自动完成、检查可能的参数类型等等——通常的 IDE 东西。 '存根闭包'内的任何其他List 方法都可以这样做。

虽然 IDEA 14 缺少此功能,但确实很遗憾。下面的屏幕截图显示了它。

size() 方法带有下划线并显示为灰色。 IDE 似乎不知道发生了什么。

这同样适用于 Mock { } 方法事件,如果使用类型作为参数调用 Mock(MyType) { }(分别为 Stub(MyType) { }

我的问题是 - 只有我还是那是错误/回归?或者我可能需要调整一些设置?

编辑:似乎这是一个错误/回归。我提出了bug in youtrack。请投票。

【问题讨论】:

  • 这里也一样。还有一半的时间它甚至忘记了with 的含义。
  • 也许 intellij 错误跟踪器比 stackoverflow 更好? youtrack.jetbrains.com/issues/IDEA
  • @tim_yates 当然是。我只想在提出票证之前确认这不仅是我的环境问题。现在,由于我有这些知识,我将这样做并将网址发布到这里。

标签: groovy intellij-idea spock


【解决方案1】:

存储系统存在错误,即 GDSL 可以自己工作,但在 IDE 启动时状态不一致。

作为临时解决方案:

  • 项目视图 -> 外部库 -> spock-core
  • 在编辑器中打开org.spockframework.idea.spock.gdsl
  • 等到关于禁用 GDSL 的通知出来
  • 使用通知中的激活链接

您应该在每次启动您的 Idea 时启用 GDSL。

此错误已修复,修复将尽快发布。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 2020-05-11
    • 2017-08-27
    • 1970-01-01
    • 2016-03-24
    • 2021-05-09
    • 1970-01-01
    相关资源
    最近更新 更多