作为 Gopher 的我,除了编写事务逻辑代码外,还需要写一大堆单元查验,这占了很大一部分的作业量,足以标明它的重要性。

项目结构

咱们的项目结构应该是类似下面这样的,calc.go 会对应有一个 cal公积金借款c_test.go 的查验用例文件:

example/
|--calc.go
|--calc_test.go

让咱们来看下 calc.go 文件的内容:

package example
func Add(a, b int) int {
return a + b
}

对应 calc_test.go 的查验用例可所以通配符选择器这样的:

package exa宫颈癌疫苗mple
import "testing"
func TestAdd(t *testing.T) {
if ans := Add(1, 2); ans != 3 {
t.Errorf("1 + 2 expected be 3, but %d got"通配符怎样用, ans)
}
if ans := Add(-1, -2); ans != -3 {
t.Errorf("-1 + -2 exp通配符替换操作ected be -3,通配符*是表示它所在位置上的什么 but %d got", ans)
}
}

咱们可以作业 go test,这个 package 下悉数的查验用例都会被实施。

go test 指令介绍

这儿咱们用到了 go test 指令,这个指令会主动读取源码目录下面名为 *_test.go 的文件,生成并作业查验用的可实施文件。

功用查验系统可以给出代码的功用数据,帮忙查验者分析功用问题。

go test 参数阐明:

  • -bench regexp 实施相应的 benchmarks,例如:-bench=.
  • -co源码编辑器ver 可以检查覆盖率
  • -run re通配符选择器gexp 只通配符掩码作业 regexp 匹配的函通配符替换操作数,例如:-run Array 那么就实施包括有 Array 开始的函数,该参数支撑通配符 *,和部分正则表达式,例如 ^$
  • -v 闪现查验的具体信息

例如实施某个文件里的悉数查验用例,以及运用 -v 闪现具体的信息

$ go test helloworld_test.go
ok          command-line-arguments        0.003s
$ go test宫颈癌 -v helloworld_test.go
=== RUN   TestHelloWorld
--- PASS: TestH源码超市elloWorld (0.00s)
helloworld_test.go:8: hello wo源码怎样做成app软件rld
PASS
ok源码怎样做成app软件          command-line-arguments        0.004s

总结

龚俊文简略介绍怎样编写 Golang 的单元查验以及 go test通配符的用途根本用法,但 Golang 的单元查验远不如此,大家一定要坚持学习!