在Intellij中向Java项目添加Spock测试

在Intellij中向Java项目添加Spock测试,java,groovy,intellij-idea,spock,Java,Groovy,Intellij Idea,Spock,我在Intellij12中设置了一个现有的Java项目,并试图向其中添加一些Groovy类。我开始尝试添加一个简单的Spock类以进行测试,但是当我右键单击该类时,它并没有给我运行它的选项 我查看了我的Intellij配置,它正确地引入了groovy。此外,我还可以编写一个使用Groovy类的Groovy脚本,该脚本运行时不会出现任何问题,因此Groovy似乎已经连接到了Groovy中。我还需要配置其他东西来专门运行Spock测试吗?获取Spock和所有依赖项的最简单方法是从maven添加库 然

我在Intellij12中设置了一个现有的Java项目,并试图向其中添加一些Groovy类。我开始尝试添加一个简单的Spock类以进行测试,但是当我右键单击该类时,它并没有给我运行它的选项


我查看了我的Intellij配置,它正确地引入了groovy。此外,我还可以编写一个使用Groovy类的Groovy脚本,该脚本运行时不会出现任何问题,因此Groovy似乎已经连接到了Groovy中。我还需要配置其他东西来专门运行Spock测试吗?

获取Spock和所有依赖项的最简单方法是从maven添加库

然后,如果希望允许批处理测试,则应将测试放在标记为“测试文件夹”的文件夹中

如果将脚本放在未标记为测试的文件夹或源文件夹中,将无法运行它


若看不到“运行”按钮,则Idea可能无法将文件识别为可运行文件,它不在源/测试根目录下,或者它的扩展名无效。

您可以通过以下方式添加Spock插件:

  • 下载
  • 在IDEA文件->设置->插件->从磁盘安装中。选择罐子

  • 我也有同样的问题,最后来到这里。我发现我忘记扩展
    spock.lang.Specification
    。我一做,就出现了Run选项


    以防对像我这样的斯波克新手有所帮助。

    你的类路径上有斯波克吗?运行spock测试应该类似于运行JUnit测试。感谢您的评论。是的,我在类路径上有spock-core-0.7-groovy-2.0,spock规范导入已解析,因此它看起来是有序的。没有任何其他操作。通常情况下,这个效果很好(我整天都在用它)。如果没有,则可能是IntelliJ中的一个小故障,或者IDE类路径上有多个Groovy(或Spock)版本。更简单的方法是使用gradle:-)@Alex。在这种情况下,导入Spock的唯一方法是单击New Library->“from Maven”,然后在搜索框中键入几个单词。对于gradle,您需要创建一个构建脚本,并从命令行或Idea糟糕的JetGradle使用它。我喜欢gradle,但在这种情况下,这是一个巨大的过度。很抱歉,我不能使用gradle。我在哪里可以找到“新图书馆”?我没有在菜单上或帮助中看到它。对于其他人,请看以下答案:1。我的团队向我保证,您不想使用IntelliJ添加库,因为这会使您的依赖项与maven构建不同步;2.搜索框显示了一百万个库——我在别处找到了需要0.7-groovy-2的库。0@orbfish是的,如果您已经有了maven项目,那么添加一个库wia想法是不可能的。将spock添加到maven。最新版本是,您可以通过链接找到导入示例。在您的例子中,您应该在maven中添加一个库,因为它是您的“模型”构建声明,idea项目就是从中生成的。OP的问题是关于没有任何构建系统支持的项目。如果你还有问题,最好问一个新的具体问题。这个不太一般=)