我正在使用 “ go test -v ”运行一堆单元测试。我想用delve调试它们。当我尝试运行调试器时,出现 “无法调试非主程序包” 错误。因此,如何使用delve调试器调试单元测试?
用途dlv test:
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)。
-test.run
go test -run
在内部,这与Flimzy的答案相同(它使用编译测试二进制文件go test -c),但更加精简,不会留下.test文件供您清理。
go test -c