debugging - 如何查看 Go 程序测试代码的堆栈轨迹?

标签 debugging testing go

我使用 Go 的原生测试工具 (go test) 来编写测试。但是当测试由于测试代码中的错误而失败时,由于缺少堆栈跟踪或任何其他上下文信息,我真的无法调试它。

甚至,测试代码需要一个上下文对象t,因此在正常模式下运行测试代码并不是一件简单的工作。

调试测试代码的最佳做法是什么?

最佳答案

您可以通过这种方式记录堆栈跟踪

t.Log(string(debug.Stack()))

文档在这里 https://golang.org/pkg/runtime/debug/#Stack

它比 PrintStack 更好,因为它不会干扰常规测试日志。

关于debugging - 如何查看 Go 程序测试代码的堆栈轨迹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19757462/

相关文章:

http - 在 http 处理程序中执行 Goroutine

Golang 多个收件人与 gomail.v2

c - 释放指针内存后,我可以重新分配值

java - 如何从 Hibernate 获取更多调试消息?

testing - 关于2012年测试经理的问题

在 Hadoop 平台上测试

javascript - Google Chrome 调用 JS 脚本控制台?

php - 正在运行的 PHP 进程的当前事件

jquery - jquery.simulate.js 和 jQuery 事件方法之间的区别?

sql - 去 postgresql LIKE 查询