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 辅助生成。