在 VS Code 中使用标志运行和调试单元测试
在 VS Code 中使用标志运行单元测试时,开发人员可能会遇到以下相关问题原注册表冲突。本文旨在通过提供使用特定标志运行和调试测试的解决方案来解决此问题。
运行测试
要在 VS Code 中指定单元测试的标志,请导航转到“设置”页面(Ctrl ,)并搜索“go.testFlags”。将以下 JSON 代码添加到数组中:
<code class="json">"go.testFlags": [ "-ldflags", "\"-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn\"" ]</code>
调试测试
要使用标志调试测试,需要稍微不同的配置。修改 settings.json 文件中的“go.testFlags”值,如下所示:
<code class="json">"go.testFlags": [ "-ldflags", "'-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn'" ]</code>
注意在标志值两边添加单引号。
替代调试方法
如果标志问题仍然存在,请考虑使用替代调试方法。使用以下命令编译测试二进制文件:
go test -c -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" -gcflags="all=-N -l"
以无头模式启动 dlv 会话并将编辑器连接到它。设置断点并导航调试面板以获得详细的调试体验。
结论
通过调整 VS Code 中的“go.testFlags”设置并考虑替代调试方法,开发人员可以使用标志有效地运行和调试单元测试,消除原注册表冲突并增强他们的测试工作流程。
以上是如何在 VS Code 中使用标志运行和调试单元测试,同时避免 Protoregistry 冲突?的详细内容。更多信息请关注PHP中文网其他相关文章!