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函数内部。

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

相关推荐
原野风霜3242 小时前
Test Harness单元测试如何导入已有的Harness文件
单元测试·simulink·test harness
gitboyzcf2 小时前
Go(GoLang)语言基础、知识速查
后端·go
卓码软件测评3 小时前
第三方CMA/CNAS双资质软件测评机构【Gatling Recorder录制工具详解:HTTP/HTTPS请求捕获和脚本生成】
测试工具·ci/cd·性能优化·单元测试·测试用例
molaifeng4 小时前
Go runtime 中的 sudog:连接 Channel 与 GMP 的隐秘枢纽
开发语言·golang
羊羊羊i6 小时前
使用client-go访问k8s集群
golang·kubernetes
源代码•宸6 小时前
goframe框架签到系统项目开发(实现总积分和积分明细接口、补签日期校验)
后端·golang·postman·web·dao·goframe·补签
YGGP7 小时前
【Golang】LeetCode 2. 两数相加
开发语言·leetcode·golang
Yy_Yyyyy_zz7 小时前
2025 技术年终总结|近七年 Golang 工程实践、AI 应用落地与技术创作回顾
开发语言·golang·ai编程
GrowingYi7 小时前
Go语言的特性
开发语言·后端·golang
YGGP8 小时前
【Golang】LeetCode 21. 合并两个有序链表
leetcode·链表·golang