首頁 >後端開發 >Golang >如何在 VS Code 中使用標誌來執行和偵錯單元測試,同時避免 Protoregistry 衝突?

如何在 VS Code 中使用標誌來執行和偵錯單元測試,同時避免 Protoregistry 衝突?

Barbara Streisand
Barbara Streisand原創
2024-10-29 07:06:021064瀏覽

 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn