go单元测试指令与参数
目录
以下是 go test 命令的一些常用参数及其使用说明,这些参数可以帮助你更高效地运行测试、分析性能和优化代码:
1. 基本测试参数
-
-v:显示详细的测试输出,包括每个测试用例的名称、状态(成功或失败)、耗时以及日志信息。go test -v -
-run:通过正则表达式指定要运行的测试函数。go test -run TestSpliceString -
-failfast:在第一个测试失败时立即停止测试。go test -failfast -
-count:指定测试运行的次数,默认为 1 次。go test -count=2
2. 基准测试参数
-
-bench:运行基准测试,可以通过正则表达式指定特定的基准测试。go test -bench=. # 运行所有基准测试 go test -bench=^Benchmark # 运行所有以 Benchmark 开头的测试 -
-benchtime:指定基准测试的运行时间,默认为 1 秒。go test -bench=. -benchtime=2s
3. 测试覆盖率参数
-
-cover:启用测试覆盖率分析。go test -cover -
-coverprofile:将测试覆盖率结果输出到指定文件。go test -coverprofile=cover.out -
-covermode:设置覆盖率分析模式(set、count、atomic),默认为set。go test -cover -covermode=count -
-coverpkg:指定覆盖率分析的包范围。go test -cover -coverpkg=./...
4. 其他参数
-
-race:启用竞态条件检测。go test -race -
-timeout:设置测试的超时时间,默认为 10 分钟。go test -timeout=5m -
-cpu:指定测试运行时的 CPU 核心数。go test -cpu=2 -
-parallel:允许并行运行测试函数。go test -parallel=4 -
-list:列出所有匹配的测试、基准测试或示例,但不运行。go test -list=TestSpliceString -
-shuffle:随机化测试和基准测试的执行顺序。go test -shuffle=on
5. 测试范围
-
运行当前目录及其子目录的所有测试:
go test ./... -
运行指定目录的测试:
go test ./dir -
运行指定文件的测试:
go test splice.go splice_test.go
6. 查看覆盖率报告
运行测试并生成覆盖率报告后,可以使用以下命令在浏览器中查看可视化结果:
go test -coverprofile=cover.out
go tool cover -html=cover.out
通过这些参数,你可以更灵活地控制测试的运行方式、分析性能、检查代码覆盖率以及优化代码质量。
9ong@TsingChan 文章内容由 AI 辅助生成。