如何在IntelliJ中添加Spock?

3
我正在尝试在IntelliJ中设置一个简单的“Hello World” Spock测试,但似乎无法进行。我已经完成了以下步骤:
  • 下载并安装插件
  • 在编辑器中选择类名
  • 导航到“转到”并选择“测试”
  • “创建新测试…”
  • 选择Spock单选按钮
此时,在单选按钮下方出现“模块中未找到Spock库”的消息。这里没有建议的解决方案来安装它。是否有一些我需要对模块进行的Maven设置?Groovy设置不需要Maven的依赖项。

当然,如果使用Gradle或Maven构建,这将变得更加简单。https://code.google.com/p/spock/wiki/GettingStarted - Peter Niederwieser
那并没有回答我的问题,不过谢谢。 - orbfish
为什么不呢?《入门指南》详细解释了如何在IntelliJ中设置Spock,并链接到一个示例Maven构建。你提到的IntelliJ插件完全是可选的。 - Peter Niederwieser
这是追踪三个链接级别并深入到一个pom文件中。其他网站只是清晰地打印出了依赖关系(这正是我在寻找的,也是我自己回答中提到的)。感谢您没有给负面评价! - orbfish
示例项目的新存储库:https://github.com/spockframework/spock-example - MarkHu
显示剩余2条评论
4个回答

3
所以...由于我已经安装了Maven,我需要添加以下依赖项并构建项目:
  <dependency>
     <groupId>org.spockframework</groupId>
     <artifactId>spock-maven</artifactId>
     <version>0.7-groovy-2.0</version>
  </dependency>

如果你只需要在IntelliJ中使用它,请在项目结构中添加新的库,并搜索该库。

1
spock-maven 是一个完全可选的 Maven 插件。首先,您必须在 spock-core 上添加依赖。 - Peter Niederwieser
据我所知,spock-maven 甚至不兼容 Maven 3,因此使用它并不是一个好主意。但是由于 spock-mavenspock-core 有测试依赖关系,所以在您特定的环境中可能会起作用。您还在使用 Maven 2 吗? - kriegaex

2

只需要添加spock-core依赖项到pom.xml即可:

<dependency>
    <groupId>org.spockframework</groupId>
    <artifactId>spock-core</artifactId>
    <version>1.0-groovy-2.4</version>
</dependency>

0
我必须将以下内容添加到我的 pom.xml 文件中:
<build>
    <testSourceDirectory>${project.basedir}/src/test/groovy</testSourceDirectory>
</build>

否则,IntelliJ没有自动将凹槽目录标记为测试目录。

0
如果您的项目使用Grails,请转到buildConfig.groovy文件并添加以下更改:
repositories { . .
    mavenRepo "http://m2repo.spockframework.org/ext/"
    mavenRepo "http://m2repo.spockframework.org/snapshots/"
    .
    .

}

dependencies {
    .
    .       
    test "org.spockframework:spock-grails-support:0.7-groovy-2.0"
    test "org.gebish:geb-spock:$gebVersion"
    .
    .       
}

plugins {
    .
    .       
    test(":spock:0.7") {
        exclude "spock-grails-support"
    }

    compile ":jaxrs-spock:0.0.1-grails2.2"
    .
    .
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接