当前位置: 首页 > 知识库问答 >
问题:

IntelliJ IDEA14对Spock框架支持的回归?

贺俊杰
2023-03-14

从IDEA13.1.x升级到14.x(14.0.2)之后,我发现对Spock框架、Mock()和Stub()方法的支持变得更差了。

更具体地说,我指的是使用闭包进行stubk/mocking的内联方法,比如:

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

IDEA13意识到了stubbed类型的可用方法,这在下面的屏幕截图中可见。

而IDEA14缺少这个功能,这真的是一个遗憾。下面的屏幕截图显示了它。

size()方法下划线并变灰。IDE似乎不知道发生了什么。

这同样适用于mock{}mock{}方法事件,如果调用类型作为参数,例如mock(MyType){}(和stub(MyType){}

编辑:似乎是一个bug/回归。我在YouTrack上发现了一个bug。请投票。

共有1个答案

谭泉
2023-03-14

存储系统中存在一个bug,即GDSL本身工作,但在IDE启动过程中状态不一致。

作为临时解决办法:

  • 项目视图->外部库->Spock-Core
  • 在编辑器中打开org.spockframework.idea.spock.gdsl
  • 等待有关禁用GDSL的通知发出
  • 在通知中使用激活链接
 类似资料:
  • Seata 的事务上下文由 RootContext 来管理。 应用开启一个全局事务后,RootContext 会自动绑定该事务的 XID,事务结束(提交或回滚完成),RootContext 会自动解绑 XID。 // 绑定 XID RootContext.bind(xid); // 解绑 XID String xid = RootContext.unbind(); 应用可以通过 RootCon

  • 本文向大家介绍使用beaker让Facebook的Bottle框架支持session功能,包括了使用beaker让Facebook的Bottle框架支持session功能的使用技巧和注意事项,需要的朋友参考一下 bottle是一个小型web框架,很小只有一个文件,但功能确很强大,学起来也简单,简单和小巧的同时也有很多不足,某些功能支持还不是很完善,比如session.但是也有它自身的好处,我们可以

  • 安装设置 Docusaurus 支持用 TypeScript 编写的主题组件。要开始使用 TypeScript,请在项目中添加 @docusaurus/module-type-aliases 以及一些 @types 依赖项: npm Yarn npm install --save-dev typescript @docusaurus/module-type-aliases @types/react

  • 我试图编写一个Spock规范,在这里我想验证一个用三个参数调用的方法。我根本不关心前两个,任何参数类型的实例都可以。我试图使用Spock通配符参数匹配,但不断遇到问题。我的验证如下所示: 这里是一个mock,UploadedPackage和PackageImportResponse.builder是预期的参数;在更改调用SaveService的代码之前,我试图先进行一个有效的测试。 我还尝试省略类

  • 我不明白Spock测试中Mock、Stub和Spy之间的区别,我一直在网上看的教程也没有详细解释它们。