多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
* 测试函数:函数名前缀为Test,测试程序的一些逻辑行为是否正确。 * 基准函数:函数名前缀为Benchmark,测试函数的性能 * 示例函数:函数名前缀为Example,为文档提供示例文档 `go test`命令会遍历所有的`*_test.go`文件中符合上述命名规则的函数, 并生成一个临时的main包用于调用相应的测试函数, 然后构建并运行、报告测试结果,最后清理测试中生成的临时文件。 ~~~go func TestSplit(t *testing.T) { // 测试函数名必须以Test开头,必须接收一个*testing.T类型参数 got := Split("a:b:c", ":") // 程序输出的结果 want := []string{"a", "b", "c"} // 期望的结果 if !reflect.DeepEqual(want, got) { // 因为slice不能比较直接,借助反射包中的方法比较 t.Errorf("expected:%v, got:%v", want, got) // 测试失败输出错误提示 } } func TestMoreSplit(t *testing.T) { got := Split("abcd", "bc") want := []string{"a", "d"} if !reflect.DeepEqual(want, got) { t.Errorf("expected:%v, got:%v", want, got) } } ~~~ ``` go test // 执行 test文件 go test -v // 查看测试函数名称和运行时间 go test -v -run="more" //-run参数对应正则表达式。 ```