分工协作及功能复用
- 如何实现分工 模块化编程不仅可以提高代码结构的清晰度,还可以促进团队协作水平,提高开发效率
建立项目
建立项目文件夹,明确项目文件存放的具体位置 在GOPATH下的src文件夹下面建立一个项目文件夹,如等差数列 根据分工,为每个开发者建立各自的工作目录,分别为main、input、sum、output
每个开发者右键各自的工作目录\选择New File 建立自己的go文件,分别为 main.go、input.go、sum.go和output.go
其他工作目录和main文件夹在同级目录,那么在引用包的时候应写相对于src的相对路径;
2.如何进行单元测试 日常开发中, 测试是不能缺少的
Go 语言中自带有一个轻量级的测试框架testing 和自带的go test 命令来实现单元测试和性能测试
测试用例文件名必须以*_test.go结尾,*最好于测试文件的主文件名相同,以方便阅读
测试用例代码与被测试代码存放路径相同
标准测试参数为:t *testing.T
testing 提供对 Go 包的自动化测试的支持。通过 go test 命令,能够自动执行如下形式的任何函数:
func TestXxx(*testing.T) 1 其中 Xxx 可以是任何字母数字字符串(但第一个字母不能是 [a-z]),用于识别测试例程。
在这些函数中,使用 Error, Fail 或相关方法来发出失败信号。
一个测试用例文件中,可以有多个测试用例函数
PASS 表示测试用例运行成功,FAIL 表示测试用例运行失败
当出现错误时,可以使用t.Fatalf 来格式化输出错误信息,并退出程序
t.Logf方法可以输出相应的日志
(1)cmd>go test[如果运行正确,无日志,错误时,会输出日志] (2) cmd>go test -v[运行正确或是错误,都输出日志]
3.如何进行性能测试
- 主要评价在压力环境下的的响应时间、负载等指标
- 建立
sum.go的性能测试用例代码sum_b_test.go - 测试函数名必须以
Benchmark开头,标准性能测试参数为:b *testing.B - 执行
go test –bench=.*进行性能测试
进行CPU和内存状态分析-文本格式 首先go test -bench="." -cpuprofile=sum.prof 生成可执行测试文件 sum.test.exe 和CPU性能文件sum.prof 然后使用go tool pprof工具进入pprof命令模式分析数据: go tool pprof sum.test.exe sum.prof 最后,输入text命令,以文本形式列出状态信息 quit退出 tree /f可以看到文件树 进行CPU和内存状态分析-状态图方式 首先go test -bench="." -cpuprofile=sum.prof 然后使用go tool pprof工具进入pprof命令模式分析数据: go tool pprof sum.test.exe sum.prof 输入web命令,在IE中查看cpu性能分析图(需要提前安装好graphviz才能在IE中以图形方式查看)