Go语言的单元测试怎样编写

发布时间:2024-12-15 09:22:51 作者:小樊
来源:亿速云 阅读:82

在Go语言中,编写单元测试非常简单。你需要创建一个与要测试的包同名的 _test.go 文件。在这个文件中,你可以使用 Go 的内置测试框架 testing 来编写测试用例。下面是一个简单的示例:

  1. 首先,创建一个名为 calculator.go 的文件,其中包含一个简单的加法函数:
package calculator

func Add(a, b int) int {
    return a + b
}
  1. 接下来,创建一个名为 calculator_test.go 的文件,用于编写单元测试:
package calculator

import (
	"testing"
)

func TestAdd(t *testing.T) {
	type args struct {
		a, b int
	}
	tests := []struct {
		name string
		args args
		want int
	}{
		{
			name: "Add 1 and 2",
			args: args{1, 2},
			want: 3,
		},
		{
			name: "Add -1 and 1",
			args: args{-1, 1},
			want: 0,
		},
	}

	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			if got := Add(tt.args.a, tt.args.b); got != tt.want {
				t.Errorf("Add(%v, %v) = %v, want %v", tt.args.a, tt.args.b, got, tt.want)
			}
		})
	}
}

在这个例子中,我们创建了一个名为 TestAdd 的测试函数,它接受一个 *testing.T 参数。我们定义了一个名为 args 的结构体,用于存储测试用例的输入参数和期望输出。然后,我们创建了一个名为 tests 的切片,其中包含多个测试用例。

在测试用例中,我们使用 t.Run 函数来执行每个测试用例,并传递一个描述性名称。在测试函数内部,我们调用 Add 函数并将结果与期望值进行比较。如果结果不符合预期,我们使用 t.Errorf 函数报告错误。

要运行测试,请在命令行中输入以下命令:

go test

Go 测试工具将自动发现并运行所有以 _test.go 结尾的文件中的测试用例。

推荐阅读:
  1. Go语言是怎么设计Map的
  2. Go语言接口怎么使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

go语言

上一篇:Linux下C++的系统安全防护和漏洞修复怎样做

下一篇:Python命令在Linux系统监控与报警中

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》