一尘不染

用delve调试测试

go

我正在使用 “ go test -v ”运行一堆单元测试。我想用delve调试它们。当我尝试运行调试器时,出现 “无法调试非主程序包”
错误。因此,如何使用delve调试器调试单元测试?


阅读 419

收藏
2020-07-02

共1个答案

一尘不染

用途dlv test

$ dlv test -- -test.v
Type 'help' for list of commands.
(dlv) continue
=== RUN   TestReadFileError
--- PASS: TestReadFileError (0.00s)
=== RUN   TestReadFile
--- PASS: TestReadFile (0.00s)
[..]
PASS
Process 8014 has exited with status 0
(dlv) quit
Process 8014 has exited with status 0

您还可以通过-test.run选择要运行的测试(就像go test -run)。

在内部,这与Flimzy的答案相同(它使用编译测试二进制文件go test -c),但更加精简,不会留下.test文件供您清理。

2020-07-02