go test -v 可显示测试执行详情,如用例运行状态与耗时,但无 -vv 参数;通过 -v 结合 -cover、-race 等参数可增强输出,t.Log 配合 -v 还能输出调试日志,满足多数调试需求。

在 Go 语言中,使用 go test -v 可以查看测试的详细输出,但并不存在 -vv 这样的双 verbose 参数。Go 的测试工具只支持单个 -v(verbose)标志来显示测试函数的运行情况。
理解 go test -v 的作用
-v 参数会让测试框架打印出每个测试用例的执行状态,包括哪些测试开始运行、是否通过等信息。这对于调试和观察测试流程非常有帮助。
示例代码:
假设你有一个简单的测试文件 example_test.go:
package mainimport "testing"
立即学习“go语言免费学习笔记(深入)”;
func TestAdd(t *testing.T) {if add(2, 3) != 5 {t.Error("Expected 2+3=5")}}
func TestSubtract(t *testing.T) {if subtract(5, 3) != 2 {t.Error("Expected 5-3=2")}}
运行命令:
go test -v
输出结果类似:
=== RUN TestAdd--- PASS: TestAdd (0.00s)=== RUN TestSubtract--- PASS: TestSubtract (0.00s)PASSok your-package-name 0.001s
如何获取更详细的测试信息
虽然没有 -vv,但你可以结合其他参数获得更多信息:
go test -v -cover:显示测试覆盖率go test -v -race:启用竞态检测,排查并发问题go test -v -failfast:遇到第一个失败时停止后续测试go test -v -run TestName:只运行特定测试函数
自定义日志输出增强调试能力
在测试中使用 t.Log 或 t.Logf 输出中间值或状态,这些内容只有在开启 -v 时才会显示。
修改测试函数示例:
func TestAdd(t *testing.T) { result := add(2, 3) t.Logf("add(2,3) = %d", result) if result != 5 { t.Error("Expected 2+3=5") }}
加上 -v 后会看到日志输出,有助于分析执行过程。
基本上就这些。Go 的测试系统设计简洁,-v 已经提供了足够的详细信息,配合合理的日志和外部工具就能满足大多数调试需求。不复杂但容易忽略细节。
以上就是Golang使用go test-vv查看详细测试信息的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1414064.html
微信扫一扫
支付宝扫一扫