首页 > 后端开发 > Golang > 如何在 VS Code 中使用标志运行和调试单元测试,同时避免 Protoregistry 冲突?

如何在 VS Code 中使用标志运行和调试单元测试,同时避免 Protoregistry 冲突?

Barbara Streisand
发布: 2024-10-29 07:06:02
原创
979 人浏览过

 How to Run and Debug Unit Tests With Flags in VS Code While Avoiding Protoregistry Conflicts?

在 VS Code 中使用标志运行和调试单元测试

在 VS Code 中使用标志运行单元测试时,开发人员可能会遇到以下相关问题原注册表冲突。本文旨在通过提供使用特定标志运行和调试测试的解决方案来解决此问题。

运行测试

要在 VS Code 中指定单元测试的标志,请导航转到“设置”页面(Ctrl ,)并搜索“go.testFlags”。将以下 JSON 代码添加到数组中:

<code class="json">&quot;go.testFlags&quot;: [        
    &quot;-ldflags&quot;,
    &quot;\&quot;-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn\&quot;&quot;
]</code>
登录后复制

调试测试

要使用标志调试测试,需要稍微不同的配置。修改 settings.json 文件中的“go.testFlags”值,如下所示:

<code class="json">&quot;go.testFlags&quot;: [        
    &quot;-ldflags&quot;,
    &quot;'-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn'&quot;
]</code>
登录后复制

注意在标志值两边添加单引号。

替代调试方法

如果标志问题仍然存在,请考虑使用替代调试方法。使用以下命令编译测试二进制文件:

go test -c -ldflags &quot;-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn&quot; -gcflags=&quot;all=-N -l&quot;
登录后复制

以无头模式启动 dlv 会话并将编辑器连接到它。设置断点并导航调试面板以获得详细的调试体验。

结论

通过调整 VS Code 中的“go.testFlags”设置并考虑替代调试方法,开发人员可以使用标志有效地运行和调试单元测试,消除原注册表冲突并增强他们的测试工作流程。

以上是如何在 VS Code 中使用标志运行和调试单元测试,同时避免 Protoregistry 冲突?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板