Go项目团队协作| 青训营

84 阅读3分钟

分工协作及功能复用

  1. 如何实现分工 模块化编程不仅可以提高代码结构的清晰度,还可以促进团队协作水平,提高开发效率

建立项目

建立项目文件夹,明确项目文件存放的具体位置 在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中以图形方式查看)