Unit testing 停止运行单元测试,并获取日志记录
我有一些单元测试,由于某种原因导致死锁。我想停止正在运行的单元测试,并查看消息(t.Log)。如果我只按CTRL-C键,我就不会收到消息。你可以按CTRL-\键,它会给你一个挂起位置的回溯。我不确定是否有一个干净的方法来获取日志消息。您应该使用Unit testing 停止运行单元测试,并获取日志记录,unit-testing,go,Unit Testing,Go,我有一些单元测试,由于某种原因导致死锁。我想停止正在运行的单元测试,并查看消息(t.Log)。如果我只按CTRL-C键,我就不会收到消息。你可以按CTRL-\键,它会给你一个挂起位置的回溯。我不确定是否有一个干净的方法来获取日志消息。您应该使用-v标记和go test,例如go test-v github.com/myname/package 这将导致在测试运行时输出any日志记录。它用于获取正在运行的测试,但没有回溯:-(可能您有一个链接或我可以找到的东西,我像疯子一样搜索过,但没有找到任何信
-v
标记和go test
,例如go test-v github.com/myname/package
这将导致在测试运行时输出any日志记录。它用于获取正在运行的测试,但没有回溯:-(可能您有一个链接或我可以找到的东西,我像疯子一样搜索过,但没有找到任何信息(甚至没有关于CTRL-)也许它依赖于操作系统,但如果你发送一个go程序SIGQUIT信号(至少在Linux和Mac上是用CTRL-\,在Windows上可能不同),那么它将中止并转储每个goroutine的完整堆栈跟踪。我使用的是Ubuntu 14.04,当我执行CTRL-\时,它不会显示堆栈跟踪(其他已启动).我回家后会尝试通过kill退出。也许这会有所帮助。我已经这么做了,它仍然会将日志保留到完成为止(但是它永远不会完成,所以我看不到它)。