Golang testing 包详解
    		       		warning:
    		            这篇文章距离上次修改已过429天,其中的内容可能已经有所变动。
    		        
        		                
                
package main
 
import (
    "fmt"
    "testing"
)
 
// 示例函数,返回两个整数的和
func add(a, b int) int {
    return a + b
}
 
// 测试函数,检查add函数是否正确工作
func TestAdd(t *testing.T) {
    cases := []struct {
        a, b, expect int
    }{
        {1, 2, 3},
        {5, 6, 11},
        {0, 0, 0},
        {-1, 1, 0},
    }
 
    for _, c := range cases {
        actual := add(c.a, c.b)
        if actual != c.expect {
            t.Errorf("add(%d, %d) = %d; expect %d", c.a, c.b, actual, c.expect)
        }
    }
}
 
func main() {
    // 运行测试
    testing.Main(
        func(patters []string, matchFunc func(pat string, name string) (matched bool, shouldContinue bool)) *testing.M {
            return testing.MainStart(patters, matchFunc, nil)
        },
        nil,
        nil,
        nil,
    )
}这段代码定义了一个简单的add函数和一个测试函数TestAdd,测试函数中使用了一个切片来定义不同的测试案例,并通过循环检查add函数是否正确执行。如果有任何测试失败,t.Errorf会被调用,并输出错误信息。这是Go语言中进行单元测试的一个基本示例。
评论已关闭