09 单元测试

狐沐说

关注

阅读 146

2022-11-11


文章目录


Go原因中自带一个轻量级的测试框架 testing 并自带go test 命令,来实现单元测试和性能测试。可以基于testing框架进行 函数的测试,也可以进行压力测试.


编写方式

  1. 编写测试用例文件 如:main_test.go
  2. import testing 包,并编写测试用例方法 如:func TestSum(t *testing.T)
  3. 执行 命令 go test -v 运行测试用例
    示例代码

//测试用例文件
package main

import(
"fmt"
"testing"
)
func TestAddUpper( t *testing.T){
res:=AddUpper(10)
fmt.Println("结果=>",res)
if res == 55{
fmt.Println("准确")
}else{
fmt.Println("不准确")
}
}

func TestSum( t *testing.T){
res:=Sum(10,11)
fmt.Println("结果=>",res)
if res == 20{
fmt.Println("准确")
t.Logf("Sum() 方法测试通过")
}else{
fmt.Println("不准确")
t.Fatalf("Sum() 方法期望返回 %v 实际返回 %v",20,res)
}
}
package main

import(
//"fmt"
//"testing"
)
func main(){

}

func AddUpper(n int) int{
res:=0
for i:=1;i<=n;i++{
res+=i
}
return res
}
func Sum(a int,b int) int{
return a+b
}

注意点

  1. 测试用例文件名必须以 _test.go结尾,比如 main_test.go
  2. 测试用例函数必须以Test开头,一般来说Test+被测试函数名 如:TestSum
  3. TestSum(t *testing.T) 测试用例函数的形参必须是 *testing.T 类型
  4. 一个测试用例文件中可以包含多个测试用例函数,
  5. go test 命令运行测试用例,如果运行正确 不显示日志,如果运行错误会出现日志
    go test -v 无论运行正确还是错误都输出日志
  6. 当出现错误时 可以用tFatalf 来格式化输出错误信息,并退出程序
  7. t.Logf方法可以输出日志
  8. 默认执行所有文件中的所有方法,如果要测试单个文件 需要传参
    go test -v main_test.go main.go
    测试单个方法 go test -v -run TestSum


精彩评论(0)

0 0 举报