# go test 用法

可以直接指定test文件 可以直接指定example文件 test文件必须是xxx_test.go - xxx_test文件 一般和测试程序同一个包 - 函数 TestAdd 以Test开头, 参数固定为t *Testing.T - 如果出错就Error打印,测试框架会自动报错 example文件也是xxx_test.go - 函数名必须ExampleAdd 以Example开头 - 一般也和测试程序同一个包 - 测试函数需要//Output: 格式,写预期输出

如果不在同一个包内, 比如叫main_test.go - 包含一般测试Test、用法实例Example,性能测试benchmark - 需要引入main包,一般这么写 import . "main" - 前提是main放入GOPATH的src目录,如一般库一样,这样import命令才能正确导入 - 这样不能直接指定test文件测试。只能go test . 执行全部当前目录下测试用例 - 系统库,如果fmt,context...都是这么写的。 - 因为test文件必须和主代码文件在同一个目录,牢记同一个目录,不允许你把测试文件复制到上层,然后直接按路径导入,比如 import "./mymain" , 这样执行会报错。