259_尚硅谷_单元测试快速入门
1.单元测试-----基本介绍和快速入门总结
2.使用testing包测试函数运行
cal_test.go:
package main
import (
"testing" // 引入go的testing框架包
)
// 编写一个测试用例,去测试addUpper是否正确
func TestAddUpper(t *testing.T) {
// ! 错误示范:修改函数名,(必须是Test开头,如: TestAddUpper)
// func TstAddUpper(t *testing.T) {
// 调用
// res := addUpper(10)
res := addUpper(5)
if res != 55 {
// fmt.Println("AddUpper(10) 执行错误, 期望值=%v, 实际值= %v\n", 55, res)
t.Fatalf("AddUpper(10) 执行错误, 期望值=%v, 实际值= %v\n", 55, res)
}
// 如果正确, 输出日志
t.Logf("AddUpper(10) 执行正确......")
}
cal.go:
package main
// 一个被测试函数
func addUpper(n int) int {
res := 0
for i := 1; i <= n; i++ {
res += i
}
return res
}
// 计算差值函数
func getSub(n1 int, n2 int) int {
return n1 - n2
}
3.testing框架使用

4.错误示范:不用Test开头执行go test -v会报错
5.TestHello函数,用testing包调用该函数
cal_hello_test.go:
package main
import (
"fmt"
"testing" // 引入go的testing框架包
)
// 编写一个测试用例,去测试testing包调用Test开头的函数
func TestHello(t *testing.T) {
fmt.Println("============================== TestHello start ==============================")
fmt.Println("Hello被调用")
fmt.Println("============================== TestHello end ==============================")
}
6.编写一个测试用例,去测试getSub是否正确,文件名要以_test.go结尾,其中的函数要以 Test开头
sub_test.go:
package main
import (
"fmt"
"testing" // 引入go的testing框架包
)
// 编写一个测试用例,去测试getSub是否正确
// 文件名要以_test.go结尾,其中的函数要以 Test开头
func TestGetSub(t *testing.T) {
res := getSub(10, 5)
fmt.Printf("=================== TestGetSub Start ===================\n")
fmt.Printf("%v\n", res)
fmt.Printf("=================== TestGetSub End ===================\n")
}
浙公网安备 33010602011771号