分享
  1. 首页
  2. 文章

Go-Testing

u013344915 · · 1462 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

要点

Go的自动化测试框架比JUnit、PyUnit等更加轻量级。要点如下:
- 测试代码以xxx_test.go方式命名
- 测试代码中import "testing"
- 测试函数形如 func Testxyz(t *Testing.T) {...}
- 执行测试:go test

示例

比较要创建一个mymath package。

mymath.go

package mymath
func Add(x, y int) int {
 return x + y
}
func Minus(x, y int) int {
 return x - y
}

mymath_test.go

package mymath_test
import "mymath"
import "testing"
func TestAdd(t *testing.T) {
 ret := mymath.Add(2, 3)
 if ret != 5 {
 t.Error("Expected 5, got ", ret)
 }
}
func TestMinus(t *testing.T) {
 ret := mymath.Minus(2, 3)
 if ret != -1 {
 t.Error("Expected -1, got ", ret)
 }
}

目录文件结构

D:\examples>tree /F .
文件夹 PATH 列表
卷序列号为 5645-602F
D:\EXAMPLES
│ helloworld.exe
│ helloworld.go
│ math.txt
│ the_shape.go
│
└─the_go_path
 ├─pkg
 │ └─windows_amd64
 │ mymath.a
 │ shape.a
 │ shape2.a
 │
 └─src
 ├─mymath
 │ mymath.go
 │ mymath_test.go
 │
 ├─shape
 │ the_shape.go
 │
 └─shape2
 the_shape.go
D:\examples>

go test

这里略过go install。

mymath.go有错误的情况

D:\examples\the_go_path\src\mymath>go test
--- FAIL: TestMinus (0.00s)
 mymath_test.go:16: Expected -1, got 5
FAIL
exit status 1
FAIL mymath 0.425s
D:\examples\the_go_path\src\mymath>

测试用例全部通过的情况

D:\examples\the_go_path\src\mymath>go test
PASS
ok mymath 0.369s
D:\examples\the_go_path\src\mymath>

有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:u013344915

查看原文:Go-Testing

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
1462 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏