测试

Golang单元测试对文件名和方法名,参数都有很严格的要求。

  1. 文件名必须以xx_test.go命名
  2. 方法参数必须 t *testing.T
  3. 使用go test执行单元测试
    *_test.go文件中有三种类型的函数,单元测试函数、基准测试函数和示例函数。
类型 格式 作用
测试函数 函数名前缀为Test 测试程序的一些逻辑行为是否正确
基准函数 函数名前缀为Benchmark 测试函数的性能
示例函数 函数名前缀为Example 为文档提供示例文档
package test  
  
import (  
    "reflect"  
    "testing")  
  
func TestClosure(t *testing.T) {  
    got := Split("a:b:c", ":")         // 程序输出的结果  
    want := []string{"a", "b", "c"}   // 期望的结果  
    if !reflect.DeepEqual(want, got) { // 因为slice不能比较直接,借助反射包中的方法比较  
       t.Errorf("excepted:%v, got:%v", want, got) // 测试失败输出错误提示  
    }  
}