Go单元测试命令
Go 语言推荐测试文件和源代码文件放在一块,测试文件以 _test.go 结尾。比如,当前 package 有 calc.go 一个文件,我们想测试 calc.go 中的 Add 和 Mul 函数,那么应该新建 calc_test.go 作为测试文件。
example/ |--calc.go |--calc_test.go
假如 calc.go 的代码如下:
package main
func Add(a int, b int) int {
    return a + b
}
func Mul(a int, b int) int {
    return a * b
}那么 calc_test.go 中的测试用例可以这么写:
package main
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(-10, -20); ans != -30 {
        t.Errorf("-10 + -20 expected be -30, but %d got", ans)
    }
}- 测试用例名称一般命名为 
Test加上待测试的方法名。 - 测试用的参数有且只有一个,在这里是 
t *testing.T。 - 基准测试(benchmark)的参数是 
*testing.B,TestMain 的参数是*testing.M类型。 
运行 go test,该 package 下所有的测试用例都会被执行。
$ go test ok example 0.009s
或 go test -v,-v 参数会显示每个用例的测试结果,另外 -cover 参数可以查看覆盖率。
$ go test -v === RUN TestAdd --- PASS: TestAdd (0.00s) === RUN TestMul --- PASS: TestMul (0.00s) PASS ok example 0.007s
如果只想运行其中的一个用例,例如 TestAdd,可以用 -run 参数指定,该参数支持通配符 *,和部分正则表达式,例如 ^、$。
$ go test -run TestAdd -v === RUN TestAdd --- PASS: TestAdd (0.00s) PASS ok example 0.007s
遇到如下报错的解决方法

相关推荐
  蛰脚踝的天蝎    2020-11-10  
   Cocolada    2020-11-12  
   TuxedoLinux    2020-09-11  
   snowphy    2020-08-19  
   83540690    2020-08-16  
   lustdevil    2020-08-03  
   83417807    2020-07-19  
   张文倩数据库学生    2020-07-19  
   bobljm    2020-07-07  
   86427019    2020-06-28  
   86427019    2020-06-25  
   zhengzf0    2020-06-21  
   tobecrazy    2020-06-16  
   宿命java    2020-06-15  
   83417807    2020-06-15  
   84284855    2020-06-11