常用参数
- -count 运行的次数 默认为1 多次运行 go test 命令,可以看到输出的结果中有了一个 (cache) 标识, 通过使用参数 -count=1 可以达到 “禁用缓存” 的效果
- -v 通过使用参数 -v 可以从输出结果中清晰的看到每个测试用例的运行情况
- -timeout 测试运行超时时间 默认为 10 分钟
- -run 运行特定的测试函数 比如 -run sum 只测试函数名称中包含 sum 的函数
package main
func sum(numbers ...int) int {
total := 0
for _, n := range numbers {
total += n
}
return total
}
func main() {
}
package main
import "testing" // 引入 testing 包
func Test_sum(t *testing.T) { // 功能测试以 `Test` 前缀命名
tests := []struct {
numbers []int // 将可变参数转换为一个切片
want int // 正确的返回值,用于和结果进行比较
}{
{
[]int{},
0,
},
{
[]int{1},
1,
},
{
[]int{1, 2, 3},
6,
},
}
for _, tt := range tests {
if got := sum(tt.numbers...); got != tt.want {
// t.Errorf 类似fmt.Printf()
t.Errorf("sum() = %v, want %v", got, tt.want)
}
}
}
或者
package main
import "testing" // 引入 testing 包
func Test_sum(t *testing.T) { // 功能测试以 `Test` 前缀命名
if v := sum(); v != 0 {
// t.Errorf 类似fmt.Printf()
t.Errorf("sum() = %v, want %v", v, 0)
}
if v := sum(1); v != 1 {
t.Errorf("sum() = %v, want %v", v, 1)
}
if v := sum(1, 2, 3); v != 6 {
t.Errorf("sum() = %v, want %v", v, 6)
}
}
标签:Errorf,int,sum,testing,功能测试,want From: https://www.cnblogs.com/sunchenxuan/p/18152216测试失败时终止 默认情况下,所有测试用例都是独立的,如果其中一个用例测试失败,其他用例会继续运行测试,这样可以捕获到所有的失败测试用例。 如果希望测试失败时终止测试,可以将 t.Errorf() 函数更换为 t.Fatalf()。