JetBrains GoLand单元测试不支持单个单元测试case执行

譬如函数代码

Go 复制代码
func AddInt(a, b int32) int32 {
	return a + b
}

单元测试代码:

Go 复制代码
func TestAddInt(t *testing.T) {
	type args struct {
		a int32
		b int32
	}
	tests := []struct {
		name string
		args args
		want int32
	}{
		{
			name: "add",
			args: args{a: 1, b: 2},
			want: 3},
		{
			name: "add",
			args: args{a: 1, b: -2},
			want: -1,
		},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			if got := AddInt(tt.args.a, tt.args.b); got != tt.want {
				t.Errorf("AddInt() = %v, want %v", got, tt.want)
			}
		})
	}
}

以上单元测试代码在GoLand中截图如图:

第15、19行是有可以运行符号的,此时可以单个case运行调试。

如果在25、26行之间加点逻辑代码,如下:

此时15、19行的运行图标没有了!

原因是在Run外添加处理逻辑,正确的添加逻辑位置如图所示,应该在Run函数内部。

此坑在开始写单元测试时踩了好久,在某天突然悟道此原因,记录之。

相关推荐
q***06291 小时前
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
开发语言·后端·golang
zhuyasen2 小时前
Go 实战:在 Gin 基础上上构建一个生产级的动态反向代理
nginx·go·gin
Wenhao.4 小时前
LeetCode Hot100 每日温度
数据结构·算法·leetcode·golang
Tsblns5 小时前
从Go http.HandleFunc()函数 引出"函数到接口"的适配思想
go
未来之窗软件服务6 小时前
幽冥大陆(二十二)dark语言智慧农业电子秤读取——东方仙盟炼气期
开发语言·windows·golang·东方仙盟·东方仙盟sdk
IMPYLH7 小时前
Lua 的 assert 函数
开发语言·笔记·junit·单元测试·lua
Ryan ZX11 小时前
【Go语言基础】计算机基础知识
开发语言·后端·golang
Schuyler202512 小时前
年轻人的第一个 GO 桌面应用:用 Wails 做个学习搭子计时器
go
q***718520 小时前
【golang学习之旅】使用VScode安装配置Go开发环境
vscode·学习·golang
i***486120 小时前
【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装
linux·golang·php