49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
|
|
// 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)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
}
|
||
|
|
}
|