go20/day06/userapp/utils/add_test.go

49 lines
1.1 KiB
Go
Raw Permalink Normal View History

2026-03-08 15:20:41 +08:00
// Copyright 2024 The Cockroach Authors.
//
// Use of this software is governed by the Business Source License
// included in the file licenses/BSL.txt.
//
// As of the Change Date specified in that file, in accordance with
// the Business Source License, use of this software will be governed
// by the Apache License, Version 2.0, included in the file
// licenses/APL.txt.
//
// Package utils contains utility functions.
package utils_test
import (
"testing"
"userapp/utils"
)
// ✅ 表驱动测试:简洁清晰
func TestAdd(t *testing.T) {
// 定义测试用例表
// 单测 一次使用,使用匿名结构体定义测试用例,适合简单的测试场景
tests := []struct {
name string
a int
b int
want int
}{
{"正数相加", 1, 2, 3},
{"负数相加", -1, 1, 0},
{"零值相加", 0, 0, 0},
{"大数相加", 100, 200, 300},
}
// 测试初始化和回收
// 遍历执行测试, 并发执行的
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := utils.Add(tt.a, tt.b)
if got != tt.want {
t.Errorf("Add(%d, %d) = %d; want %d",
tt.a, tt.b, got, tt.want)
}
})
}
}