加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

go 单元测试

发布时间:2020-12-16 18:28:37 所属栏目:大数据 来源:网络整理
导读:go 单元测试 go 单元测试 概述 实例 参考文献 概述 go 提供了自动测试的包 testing , 假设我们有一个文件 youfile.go ,那么建立测试文件的名字为 yourfile_test.go ,这个文件中有测试函数,形式如下: func TestXxx( *testing .T) 其中 TestXxx 中 Xxx 的

go 单元测试

  • go 单元测试
    • 概述
    • 实例
    • 参考文献

概述


go 提供了自动测试的包 testing

假设我们有一个文件youfile.go,那么建立测试文件的名字为 yourfile_test.go,这个文件中有测试函数,形式如下:

func TestXxx(*testing.T)

其中 TestXxxXxx 的第一个字母 X 必须是大写字母。

将你的源文件 yourfile.goyourfile_test.go 放在同一个目录下。
使用 go test 命令运行

实例


这里使用 https://github.com/golang/example/tree/master/stringutil 的文件测试
stringutil 目录下有两个文件:reverse.goreverse_test.go

reverse.go

package stringutil

// Reverse returns its argument string reversed rune-wise left to right.
func Reverse(s string) string {
    r := []rune(s)
    for i,j := 0,len(r)-1; i < len(r)/2; i,j = i+1,j-1 {
        r[i],r[j] = r[j],r[i]
    }
    return string(r)
}

reverse_test.go

package stringutil

import "testing"

func TestReverse(t *testing.T) {
    for _,c := range []struct {
        in,want string
    } {
        {"Hello,world","dlrow,olleH"},{"Hello,世界","界世,{"",""},} {
        got := Reverse(c.in)
        if got != c.want {
            t.Errorf("Reverse(%q) == %q,want %q",c.in,got,c.want)
        }
    }
}

运行结果

[stringnutil]# go test
PASS
ok    stringutil  0.002s

参考文献


pkg/testing

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读