GoLand 2025.2 Help

运行测试

在文件或文件夹中直接运行测试

如果您的测试在启动前不需要执行任何特定操作,并且不打算配置其他选项,您可以使用以下选项运行它们:

  • 将光标置于测试文件中以运行该文件中的所有测试,或置于测试方法上并按下 Ctrl+Shift+F10。 或者,单击测试方法旁边的 行图标,并从列表中选择 运行 '<test name>'

    行图标会根据测试的状态变化而变化:

    • 行图标表示一组测试。 使用该图标可运行该文件中的所有测试。

    • 行图标表示新建测试。

    • 行图标表示通过的测试。

    • 行图标表示失败的测试。

  • 要运行文件夹中的全部测试,在 项目 工具窗口中选择该文件夹,然后按 Ctrl+Shift+F10 ,或在上下文菜单中选择 在 'folder' 中运行测试

    使用行内图标运行测试

使用运行小部件运行测试

当您运行测试时,GoLand 会创建一个临时运行配置。 您可以保存临时运行配置、修改其设置并与团队其他成员共享。 如需了解更多信息,请参阅 运行/调试配置

  1. 创建新的 运行配置 或保存一个临时配置。

  2. 使用主工具栏上的 Run 小组件选择要运行的配置。

  3. 单击 或按下 Shift+F10

    运行测试的运行/调试配置

从结构视图中运行测试

结构 工具窗口 中,您可以选择一个或多个测试方法进行运行。 在这种情况下,IDE 还会使用这些方法创建一个临时的运行配置,您可以对其进行 保存与编辑。

  1. 项目 工具窗口中,双击 Go 测试文件(_test.go)。

  2. 导航至 视图 | 工具窗口 | 结构

  3. 结构 工具窗口中,右键单击一个或多个测试方法并选择 运行 '方法 名称'Ctrl+Shift+F10)。

  4. 结构 工具窗口中右键点击某个方法并选择:

    • 如果只有一个包含 模式 测试范围的配置,则选中 添加到临时套件:<Configuration_name>

    • 如果有多个包含 模式 测试范围的配置,则显示 添加到 JUnit 模式套件 (JUnit)/添加到临时套件 (TestNG)。 在这种情况下,将会弹出一个窗口供您选择目标配置。

保存临时测试配置

GoLand 运行完测试后,会在 运行 工具窗口中的该运行配置标签页显示结果。 如需了解有关分析测试结果的更多信息,请参阅 浏览测试结果

运行文件夹中的所有测试、停止并重新运行单个测试

使用测试标志运行测试

您可以使用测试标志运行测试,例如 -race-failfast-short 等。 在 pkg.go.dev 上的 Go 文档 中查看其他标志。

  1. 导航至 运行 | 编辑配置(E)

  2. 单击用于运行应用程序或测试的运行/调试配置。 在 程序参数 字段中指定计划使用的标志:

    • -race :启用数据竞争检测。 仅在 linux/amd64freebsd/amd64darwin/amd64windows/amd64linux/ppc64lelinux/arm64 上受支持(仅适用于 48 位 VMA)。

    • -test.failfast :在第一个测试失败后停止新的测试。

    • -test.short :缩短长时间运行测试的运行时间。

    • -test.benchmem :打印基准测试的内存分配统计信息。

    使用测试标志运行测试

运行项目中的所有测试

  1. 在主菜单中,选择 运行 | 编辑配置

  2. 单击 添加新配置 图标(添加新配置 ),然后选择 Go 测试

  3. 测试类型 下拉列表中选择以下选项之一:

    • :在 包路径 字段中运行所选包的所有测试。

    • 目录 :在 目录 字段中运行所选包的所有测试。

  4. 单击 运行

模糊测试

模糊测试是一种通过持续提交各种输入自动化测试的方法。 输入是根据您在 f.Add("mySampleData") 中提供的示例数据生成的。

f.Add() 可接收以下数据类型: string[]byteruneintint8int16int32int64uintuint8unit16uint32uint64float32float64bool

运行模糊测试

  • 单击边距中的 运行测试 图标,选择 运行(U) ,然后选择模糊测试配置(例如, go test -fuzz FuzzTest)。

    如果测试失败,您可以单击指向 testdata 目录的链接,以查看哪个输入导致测试失败。

    要使用失败的种子语料项运行 go test,请从 testdata 目录中打开文件,单击边距中的 运行模糊处理 图标,然后选择所需配置。

    运行模糊测试

调试模糊测试

  1. 在所需行的边距处单击以创建断点。

    或者,单击要创建断点的行并按 Ctrl+F8

  2. 单击 运行 | 调试

  3. 调试 弹出窗口中,选择所需的运行/调试配置。

提交后运行测试

当您希望在提交更改前确认不会破坏代码时,可以将测试作为提交检查运行来实现。

设置测试配置

  1. Alt+0 打开 提交 工具窗口,然后单击 显示提交选项 “设置”按钮

  2. 高级提交检查 菜单下,在 Run Tests 选项旁边,单击 选择配置 并选择要运行的配置。

    提交前检查菜单

配置测试设置后,每次提交时都会运行指定的测试。

停止测试

在运行配置选项卡的 运行 工具栏上使用以下选项:

  • 单击 “停止”按钮 或按 Ctrl+F2 立刻终止进程。

停止运行测试

重新运行测试

重新运行单个测试

  • 运行 工具窗口的运行配置选项卡中右键单击测试,然后选择 运行 '测试名称'

重新运行会话中的所有测试

  • 单击 “重新运行”按钮 (位于 运行 工具栏上)或按 Ctrl+F5 重新运行会话中的所有测试。

重新运行失败的测试

  • 单击 “重新运行失败测试”图标 (位于 运行 工具栏上)仅重新运行失败的测试。

    按住 Shift 并单击 ,以选择是否 运行 重新运行失败的测试或 调试 它们。

    您可以配置 IDE,使其与失败测试一起触发上次测试运行中被忽略或未启动的测试。 单击 “设置”按钮 (位于 运行 工具栏上),启用 将未启动的测试包含到重新运行的失败测试中 选项。

自动重新运行测试

在 GoLand 中,您可以启用类似自动测试的运行器:更改相关源代码后,当前运行配置中的任何测试将自动重新启动。

  • 单击 自动重新运行 (位于测试结果工具栏上)以启用类似自动测试的运行器。

调试失败的测试

如果您不知道测试为何失败,可以对其进行调试。

  1. 在编辑器中,单击要设置断点的行的边距。

    您可以根据希望暂停程序的位置使用不同类型的断点。 如需详细信息,请参阅 断点

  2. 右键单击失败测试旁边边距中的 图标,然后选择 调试 '测试名称'

    测试将以调试模式重新运行。 随后测试将被挂起,您可以 检查其当前状态

    您可以 单步执行测试 以详细分析其执行流程。

    使用行内图标调试测试

效率提示

运行单个表格测试

  • 您可以使用边距中的 运行 图标(“运行”图标 )运行单个表格测试。 您还可以从 运行 工具窗口导航到单个表格测试。

    当前对表格测试的支持存在以下限制:

    • The test data variable must be a slice, an array, or a map. 必须在与 t.Run 调用相同的函数中定义,并且在初始化之后不得再次使用(range 条件出现在 for 循环中的情况除外)。

    • 单个测试数据项必须是 struct 字面量。 在子测试名称表达式中使用的循环变量,不得在 t.Run 调用之前使用。

    • 子测试名称表达式可以是测试数据的字符串字段、测试数据字符串字段的拼接,或是带有 %s%d 占位符的 fmt.Sprintf() 调用。

      例如,在以下代码片段中, fmt.Sprintf("%s in %s", tc.gmt, tc.loc) 是一个子测试名称表达式。

      for _, tc := range testCases { t.Run(fmt.Sprintf("%s in %s", tc.gmt, tc.loc), func(t *testing.T) { loc, err := time.LoadLocation(tc.loc) if err != nil { t.Fatal("could not load location") } gmt, _ := time.Parse("15:04", tc.gmt) if got := gmt.In(loc).Format("15:04"); got != tc.want { t.Errorf("got %s; want %s", got, tc.want) } }) }
    运行单个表格测试
最后修改日期: 2025年 9月 26日