GoLand 2025.3 Help

运行测试

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

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

  • 将插入符号放在测试文件上以运行该文件中的所有测试,或放在测试方法上,然后按 Ctrl+Shift+F10。 或者,点击测试方法旁边的 边距图标,并从列表中选择 运行“<test name>”

    测试状态不同,对应的边栏图标也会有所变化:

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

    • 装订区域图标标记新测试。

    • 边栏图标标记成功的测试。

    • 装订线图标标记失败的测试。

  • 要运行文件夹中的所有测试,请在 项目 工具窗口中选择此文件夹并按下 Ctrl+Shift+F10 或从上下文菜单中选择 在 '文件夹' 中运行测试

    使用侧边栏图标运行测试

使用 Run 小部件运行测试

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

  1. 创建一个新的 run configuration或者保存一个临时的。

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

  3. 点击 或按 Shift+F10

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

从结构运行测试

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

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

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

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

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

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

    • 如果有多个具有 模式 测试范围的配置,请选择 添加到 JUnit 模式套件 ( JUnit )/添加到临时套件 ( TestNG )。 在这种情况下,会出现一个弹出窗口,您可以在其中选择目标配置。

保存临时测试配置

在 GoLand 运行完您的测试后,它会在 运行 工具窗口中显示结果,并在该运行配置的选项卡上显示。 有关分析测试结果的详细信息,请参阅 探索测试结果

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

使用测试标志运行测试

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

  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 中,您可以启用类似自动测试的运行器:当前运行配置中的任何测试在您更改相关源代码后会自动重新启动。

  • 点击 自动重新运行 可在测试结果工具栏上启用类似于 autotest 的运行程序。

调试失败的测试

如果您不知道测试失败的原因,可以调试它。

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

    您可以根据希望暂停程序的位置使用不同类型的断点。 欲了解更多信息,请参阅 断点

  2. 右键点击 槽图标并选择 调试 '测试名称'

    测试将以调试模式重新运行。 之后,测试将会被暂停,允许您 检查其当前状态

    您可以 逐步执行测试以详细分析其执行情况。

    使用边栏图标调试测试

提高效率的提示

运行单个表格测试

  • 您可以通过使用边距中的 运行 图标(运行图标 )运行单个表格测试。 此外,您可以从 运行 工具窗口导航到单个表格测试。

    当前对表格测试的支持具有以下限制:

    • 测试数据变量必须是切片、数组或映射。 它必须在与 t.Run 调用相同的函数中定义,并且在初始化后不得使用(range 子句在 for 循环中除外)。

    • 单个测试数据条目必须是结构体字面量。 在子测试名称表达式中使用的循环变量在 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年 12月 5日