首页 代码 正文

Go测试

2024.2.22 代码 209

Go语言自带一个轻量级测试框架testing和go test命令来实现单元测试(T类型)和性能测试(B类型)。

单元测试

表格驱动测试

main.go

package main

import (
  "math"
)

func triangle(a, b int) int {
  c := int(math.Sqrt(float64(a*a + b*b)))
  return c
}

func main() {
  a, b := 3, 4
  c := triangle(a, b)
  println(c)
}

main_test.go

package main

import "testing"

func TestTriangle(t *testing.T) {
  tests := []struct{ a, b, c int }{
    {3, 4, 5},
    {5, 12, 13},
    {8, 15, 17},
    {12, 35, 37},
    {30000, 40000, 50000},
  }

  for _, tt := range tests {
    if actual := triangle(tt.a, tt.b); actual != tt.c {
      t.Errorf("triangle(%d, %d): "+
        "got %d; expected %d",
        tt.a, tt.b, actual, tt.c)
    }
  }
}

性能测试

  1. 转载请保留原文链接:Go测试 https://aboss.top/post/678/
  2. 本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
  3. 本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
  4. 本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
  5. 联系方式(#替换成@):mail#aboss.top

评论

热门搜索