IntelliJ IDEA 2025.1 Help

开始使用 Spock

Spock 是一个用于 Java 和 Groovy 代码的测试框架,您可以使用它来自动化您的测试。 IntelliJ IDEA 支持 完全 集成 Spock 以及 您 可以 通过 第三方 插件 如 Spock Framework 增强Spock ADB 等 启用 的 其他 Spock 功能。

创建项目

要了解 Spock framework 的工作原理,请创建一个常规的 Gradle 项目。

为 Spock 创建项目

  1. 启动 IntelliJ IDEA。

    如果欢迎屏幕打开,请点击 新建项目

    否则,请转到主菜单的 文件 | 新建 | 项目

  2. 从左侧列表中选择 Java

    由于 Spock 用于测试 Java 和 Groovy,您可以保留默认的 Java 选项。 您可以随时将 Groovy 语言添加到您的项目中。

    Spock 新项目
  3. 从建议列表中添加并配置以下选项:

    • 名称 :添加您正在创建的项目名称。 例如, spock 教程

    • 位置 :添加项目位置路径

    • Git 仓库 :如果您想创建并上传您的项目到 Git,您可以选择此选项。

    • 构建系统 :选择您想在项目中使用的构建工具。 例如 Gradle。

    • JDK :配置项目 SDK。 若要开发基于 Java 的应用程序,您需要一个 JDK(Java Development Kit)。

      如果必要的 JDK 已在 IntelliJ IDEA 中定义,请从检测到的 JDK 列表中选择它。

      如果您的计算机上没有必要的 JDK,请选择 下载JDK。 在下一个对话框中,指定 JDK 供应商、版本,并在需要时更改安装路径。

    • Gradle DSL :请选择适合您项目的 DSL。 由于使用 Spock 时通常会使用 Java 或 Groovy,您可以保留建议的 Gradle 选项。

    如果您需要配置任何高级设置,可以在 高级设置 部分进行。

  4. 完成所需选项的选择后,点击 创建

    IntelliJ IDEA 创建一个 Gradle 项目,下载必要的依赖项,并建立适当的项目结构。

设置依赖项

在创建一个基本的 Gradle 项目后,您需要将 Spock 依赖项添加到 Gradle 构建文件,而不是添加默认的 JUnit 5 依赖项,以便为 Spock 编写测试。

添加 Spock 依赖

  1. 在编辑器中打开 build.gradle 文件。

  2. 在您的 build.gradle 中,按下 Alt+Insert 并选择 添加 Maven 工件依赖

  3. 在打开的对话框中,搜索最新版本的 Spock-core库。

  4. 在搜索结果列表中选择所需的项目,然后点击 添加

    已将依赖项添加到 build.gradle 文件中。

    同添加 Spock 依赖一样添加 Groovy 依赖,因为 Spock 测试是用 Groovy 编写的。 使用 3.0.8 版本。

  5. 确保两个依赖项都声明为 testImplementation ,并删除其他 JUnit 依赖项,因为您不需要它们。

    您应该在您的 build.gradle 文件中看到以下代码:

    dependencies { testImplementation 'org.codehaus.groovy:groovy-all:3.0.8' testImplementation 'org.spockframework:spock-core:2.0-groovy-3.0' }
  6. 请将 Groovy plugin 添加到 build.gradle 文件中:

    plugins { id 'java' id 'groovy' }
  7. 加载您对 build.gradle 文件所做的所有更改。 点击编辑器中的 同步 Gradle 更改 图标或按 Ctrl+Shift+O

    IntelliJ IDEA 下载任何新的依赖项,删除旧的,并正确配置项目。

编写简单的断言

在开始编写测试之前,请确保您已经在项目中创建了一个 groovy 文件夹,因为您已经创建了一个包含混合 Java 和 Groovy 语言的项目。 您可以将 Groovy 代码保存在 groovy 文件夹中,将 Java 代码保存在其 java 文件夹中。

添加 Groovy 文件夹

  1. 项目 工具窗口中,右键点击 测试 文件夹并选择 新建 | 目录

  2. 在打开的窗口中,IntelliJ IDEA 在列表中显示了 groovy 选项,因为 Groovy 插件被用于 Gradle。

    添加 Groovy 测试文件夹

    请选择 groovy 并按 Enter

    IntelliJ IDEA 会将 groovy 目录添加到 测试 模块,之后您就可以开始编写测试。

为 Spock 编写测试

您可以通过编写一个非常简单的测试来启动,以便查看 Spock 测试的外观。

  1. 项目 工具窗口中,右键点击 groovy 文件夹并选择 新建 | Groovy 类

  2. 在打开的窗口中,通过在类名前键入完整的包名来创建包和目录结构。 Spock 测试经常被称为 Specification ,所以您可以称呼该测试为 ExampleSpecification

  3. 添加 Groovy 类后,在编辑器中打开它。

  4. 确保此类扩展 Spock 的 Specification类。

    扩展 Spock 测试类
  5. 在类中,按 Alt+Insert 并选择 测试方法 以生成 Spock 规范的测试方法。

    生成的测试方法

    当您不太熟悉编写 Spock 或 Groovy 代码时,这会特别有用,因为 IntelliJ IDEA 将生成您所需的基本结构。

    请检查以下代码:

    class ExampleSpecification extends Specification { def "should be a simple assertion"() { } }

    正如您所见,该方法是使用 def 关键字定义的,Spock 的方法名称可以是字符串。 这在您创建测试时很有帮助。 文本格式为您提供了描述期望的确切行为的灵活性。

  6. Spock 测试不使用注解或特定的测试方法名称格式来定义哪些方法是测试。 相反,他们使用标签。 对于这种简单的测试,您可以使用 expect 并定义您期望看到的最简单的行为。

    请查看以下示例:

    def "should be a simple assertion"() { expect: 1 == 1 }

    如您所见,Spock 通常不会使用 AssertionsAssert 关键字。 相反,您可以使用简单的检查,例如双等号。 should be a simple assertion 方法指定了一个简单的预期行为——数字 1 应该等于 1。 这不是一个现实的测试用例,但它展示了 Spock 测试的基本原理。

  7. 首先看到测试失败总是有帮助的,以确保它确实在工作并测试了正确的内容。 当测试失败时,Spock 会显示一条有用的错误消息,准确指出失败的原因和原因。

    要查看测试失败,请使用以下代码并 运行您的测试

    def "should be a simple assertion"() { expect: 1 == 0 }

    请检查 Run 工具窗口中的结果和错误消息。

要了解有关编写 Spock 测试及使用 Groovy 代码的提示,请查阅 Spock 博客文章

运行 Spock 测试

您可以使用编辑器边栏或主菜单运行已创建的测试。

运行 Spock 测试

  1. 在编辑器中,双击 运行按钮

    或者,您可以按 Shift+F10

  2. 请在 运行 工具窗口中查看结果。

    正如您所见,测试通过了。

    运行工具窗口 / Spock 测试输出

    您可以 更改代码 ,以便测试失败。

    Spock 测试失败

默认情况下,IntelliJ IDEA 使用 Gradle 来运行测试,如果这是一个 Gradle 项目。 这意味着 IDE 使用与持续集成或构建环境相同的流程来运行测试。

然而,由于项目中的代码如此简单,Gradle 构建并不会执行生成代码或资源等额外操作。 在这种情况下,使用 IntelliJ IDEA 测试运行程序可能会更快。

更改测试运行器

  1. Ctrl+Alt+S 打开设置,然后选择 构建、执行、部署 | 构建工具 | Gradle

  2. 从右侧的选项中,在下拉列表 运行测试使用 中选择 IntelliJ IDEA

  3. 请点击 OK 以保存更改。

    现在,当您运行测试时,IntelliJ IDEA 将使用其本地测试运行器。

最后修改日期: 2025年 4月 24日