黄波的博客开发、学习、生活、技术分享
黄波的博客开发、学习、生活、技术分享

Golang Tips - 记录 Golang 开发中遇到的小问题和最佳实践

警告
本文最后更新于 2022-09-06,文中内容可能已过时。
  • 使用 testing.T.Parallel() 来并行运行测试,同时可以及时发现资源竞争问题
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
package serializer

import (
	"testing"
)

func TestWriteProtobufToBinaryFile(t *testing.T) {
	t.Parallel() 
	// ...
}
  • 使用 Testify 来简化测试的 AssertionsMocks
  • golangci-lint 配置 testpackageparalleltest 来启动 test package 名称检查和并行测试检查
    • testpackage: According to blackbox testing approach, you should not use unexported functions and methods from source code in tests.
  • math/rand 包默认每次使用相同的随机种子,因此如需要,要在需要的地方设置随机种子 rand.Seed(time.Now().UnixNano()),如使用随机数的包的 init()
  • copier:一个便捷的 copy 库
  • evans gRPC 客户端,交互式调用 gRPC server
0%